{"id":15637499,"url":"https://github.com/seba-1511/randopt","last_synced_at":"2025-04-23T01:19:48.116Z","repository":{"id":57459926,"uuid":"71821410","full_name":"seba-1511/randopt","owner":"seba-1511","description":"Streamlined machine learning experiment management.","archived":false,"fork":false,"pushed_at":"2020-04-27T20:48:19.000Z","size":10371,"stargazers_count":107,"open_issues_count":13,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T20:44:17.884Z","etag":null,"topics":["experiments","hyperparameter-optimization","hyperparameters","visualization"],"latest_commit_sha":null,"homepage":"http://randopt.ml","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seba-1511.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-24T18:52:04.000Z","updated_at":"2025-02-04T10:07:06.000Z","dependencies_parsed_at":"2022-08-30T10:00:35.086Z","dependency_job_id":null,"html_url":"https://github.com/seba-1511/randopt","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seba-1511%2Frandopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seba-1511%2Frandopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seba-1511%2Frandopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seba-1511%2Frandopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seba-1511","download_url":"https://codeload.github.com/seba-1511/randopt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250349571,"owners_count":21415973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["experiments","hyperparameter-optimization","hyperparameters","visualization"],"created_at":"2024-10-03T11:11:55.770Z","updated_at":"2025-04-23T01:19:48.090Z","avatar_url":"https://github.com/seba-1511.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./assets/images/logo.png\" /\u003e\u003c/p\u003e\n\n--------------------------------------------------------------------------------\n\n[![Build Status](https://travis-ci.org/seba-1511/randopt.svg?branch=master)](https://travis-ci.org/seba-1511/randopt)\n[![PyPI version](https://badge.fury.io/py/randopt.svg)](https://badge.fury.io/py/randopt)\n\nrandopt is a Python package for machine learning experiment management, hyper-parameter optimization, and results visualization. Some of its features include:\n\n* result logging and management,\n* human-readable format,\n* support for parallelism / distributed / asynchronous experiments,\n* command-line and programmatic API,\n* shareable, flexible Web visualization,\n* automatic hyper-parameter search, and\n* pure Python - no dependencies !\n\n\n# Installation\n\n```shell\npip install randopt\n```\n\n# Usage\n\n```python\nimport randopt as ro\n\ndef loss(x):\n    return x**2\n\ne = ro.Experiment('myexp', {\n        'alpha': ro.Gaussian(mean=0.0, std=1.0, dtype='float'),\n    })\n\n# Sampling parameters\nfor i in xrange(100):\n    e.sample('alpha')\n    res = loss(e.alpha)\n    print('Result: ', res)\n    e.add_result(res)\n\n# Manually setting parameters\ne.alpha = 0.00001\nres = loss(e.alpha)\ne.add_result(res)\n\n# Search over all experiments results, including ones from previous runs\nopt = e.minimum()\nprint('Best result: ', opt.result, ' with params: ', opt.params)\n```\n\n## Results Visualization\n\nOnce you obtained some results, run `roviz.py path/to/experiment/folder` to visualize them in your web browser.\n\nFor more info on visualization and `roviz.py`, refer to the [Visualizing Results](https://github.com/seba-1511/randopt/wiki/Visualizing-Results) tutorial.\n\n## Hyper-Parameter Optimization\n\nTo generate results and search for good hyper-parameters you can either user `ropt.py` or write your own optimizaiton script using the [Evolutionary](https://github.com/seba-1511/randopt/wiki/evolutionary) and [GridSearch](https://github.com/seba-1511/randopt/wiki/grid_search) classes.\n\nFor more info on hyper-parameter optimization, refer to the [Optimizing Hyperparams](https://github.com/seba-1511/randopt/wiki/Optimizing-Hyperparams) tutorial.\n\n\n# Documentation\n\nFor more examples, tutorials, and documentation refer to the [wiki](https://github.com/seba-1511/randopt/wiki).\n\n\n# Contributing\n\nTo contribute to Randopt, it is recommended to follow the [contribution guidelines](CONTRIBUTING.md).\n\n### Acknowledgements\nRandopt is maintained by [Séb Arnold](http://seba1511.com), with numerous contributions from the following persons.\n\n* Noel Trivedi\n* Cyrus Jia\n* Daler Asrorov\n\n# License\n\nRandopt is released under the Apache 2 License. For more information, refer to the [LICENSE file](LICENSE.txt).\n\nI would love to hear how your use Randopt. Feel free to [drop me a line](http://seba1511.com) !\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseba-1511%2Frandopt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseba-1511%2Frandopt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseba-1511%2Frandopt/lists"}