{ "info": { "author": "Facebook AI Research", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Topic :: Scientific/Engineering" ], "description": "[![CircleCI](https://circleci.com/gh/facebookresearch/nevergrad/tree/master.svg?style=svg)](https://circleci.com/gh/facebookresearch/nevergrad/tree/master)\n\n# Nevergrad - A gradient-free optimization platform\n\n`nevergrad` is a Python 3.6+ library. It can be installed with:\n\n```\npip install nevergrad\n```\n\nYou can also install the master branch instead of the latest release with:\n\n```\npip install git+https://github.com/facebookresearch/nevergrad@master#egg=nevergrad\n```\n\nAlternatively, you can clone the repository and run `pip install -e .` from inside the repository folder.\n\nBy default, this only installs requirements for the optimization and instrumentation subpackages. If you are also interested in the benchmarking part,\nyou should install with the `[benchmark]` flag (example: `pip install 'nevergrad[benchmark]'`), and if you also want the test tools, use\nthe `[all]` flag (example: `pip install -e '.[all]'`)\n\n\n## Goals and structure\n\nThe goals of this package are to provide:\n- **gradient/derivative-free optimization algorithms**, including algorithms able to handle noise.\n- **tools to instrument any code**, making it painless to optimize your parameters/hyperparameters, whether they are continuous, discrete or a mixture of continuous and discrete variables.\n- **functions** on which to test the optimization algorithms.\n- **benchmark routines** in order to compare algorithms easily.\n\nThe structure of the package follows its goal, you will therefore find subpackages:\n- `optimization`: implementing optimization algorithms\n- `instrumentation`: tooling to convert code into a well-defined function to optimize.\n- `functions`: implementing both simple and complex benchmark functions\n- `benchmark`: for running experiments comparing the algorithms on benchmark functions\n- `common`: a set of tools used throughout the package\n\n![Example of optimization](https://raw.githubusercontent.com/facebookresearch/nevergrad/master/TwoPointsDE.gif)\n\n*Convergence of a population of points to the minima with two-points DE.*\n\n\n## Documentation\n\nThe following README is very general, here are links to find more details on:\n- [how to perform optimization](https://github.com/facebookresearch/nevergrad/blob/master/docs/optimization.md) using `nevergrad`, including using parallelization and a few recommendation on which algorithm should be used depending on the settings\n- [how to instrument](https://github.com/facebookresearch/nevergrad/blob/master/docs/instrumentation.md) functions with any kind of parameters in order to convert them into a function defined on a continuous vectorial space where optimization can be performed. It also provides a tool to instantiate a script or non-python code in order into a Python function and be able to tune some of its parameters.\n- [how to benchmark](https://github.com/facebookresearch/nevergrad/blob/master/docs/benchmarking.md) all optimizers on various test functions.\n- [benchmark results](https://github.com/facebookresearch/nevergrad/blob/master/docs/benchmarks.md) of some standard optimizers an simple test cases.\n- examples of [optimization for machine learning](https://github.com/facebookresearch/nevergrad/blob/master/docs/machinelearning.md).\n- how to [contribute](https://github.com/facebookresearch/nevergrad/blob/master/.github/CONTRIBUTING.md) through issues and pull requests and how to setup your dev environment.\n- guidelines of how to contribute by [adding a new algorithm](https://github.com/facebookresearch/nevergrad/blob/master/docs/adding_an_algorithm.md).\n\n\n## Basic optimization example\n\n**All optimizers assume a centered and reduced prior at the beginning of the optimization (i.e. 0 mean and unitary standard deviation). They are however able to find solutions far from this initial prior.**\n\n\nOptimizing (minimizing!) a function using an optimizer (here `OnePlusOne`) can be easily run with:\n\n```python\nimport nevergrad as ng\n\ndef square(x):\n return sum((x - .5)**2)\n\noptimizer = ng.optimizers.OnePlusOne(instrumentation=2, budget=100)\nrecommendation = optimizer.optimize(square)\nprint(recommendation) # optimal args and kwargs\n>>> Candidate(args=(array([0.500, 0.499]),), kwargs={})\n```\n\n`recommendation` holds the optimal attributes `args` and `kwargs` found by the optimizer for the provided function.\nIn this example, the optimal value will be found in `recommendation.args[0]` and will be a `np.ndarray` of size 2.\n\n`instrumentation=n` is a shortcut to state that the function has only one variable, of dimension `n`,\nSee the [instrumentation tutorial](https://github.com/facebookresearch/nevergrad/blob/master/docs/instrumentation.md) for more complex instrumentations.\n\n\nYou can print the full list of optimizers with:\n```python\nimport nevergrad as ng\nprint(list(sorted(ng.optimizers.registry.keys())))\n```\n\nThe [optimization documentation](https://github.com/facebookresearch/nevergrad/blob/master/docs/optimization.md) contains more information on how to use several workers, take full control of the optimization through the `ask` and `tell` interface and some pieces of advice on how to choose the proper optimizer for your problem.\n\n## Citing\n\n```bibtex\n@misc{nevergrad,\n author = {J. Rapin and O. Teytaud},\n title = {{Nevergrad - A gradient-free optimization platform}},\n year = {2018},\n publisher = {GitHub},\n journal = {GitHub repository},\n howpublished = {\\url{https://GitHub.com/FacebookResearch/Nevergrad}},\n}\n```\n\n## License\n\n`nevergrad` is released under the MIT license. See [LICENSE](https://github.com/facebookresearch/nevergrad/blob/master/LICENSE) for additional details.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/facebookresearch/nevergrad", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nevergrad", "package_url": "https://pypi.org/project/nevergrad/", "platform": "", "project_url": "https://pypi.org/project/nevergrad/", "project_urls": { "Homepage": "https://github.com/facebookresearch/nevergrad" }, "release_url": "https://pypi.org/project/nevergrad/0.2.3/", "requires_dist": [ "numpy (>=1.15.0)", "pandas (>=0.23.4)", "cma (>=2.6.0)", "bayesian-optimization (>=1.0.1)", "typing-extensions (>=3.6.6)", "pytest (>=4.3.0) ; extra == 'all'", "pytest-cov (>=2.6.1) ; extra == 'all'", "mypy (>=0.630) ; extra == 'all'", "sphinx (>=2.1.0) ; extra == 'all'", "sphinx-rtd-theme (>=0.4.3) ; extra == 'all'", "recommonmark (>=0.5.0) ; extra == 'all'", "wheel (>=0.33.6) ; extra == 'all'", "setuptools (>=28.8.0) ; extra == 'all'", "requests (>=2.21.0) ; extra == 'all'", "xlwt (>=1.3.0) ; extra == 'all'", "xlrd (>=1.2.0) ; extra == 'all'", "matplotlib (>=2.2.3) ; extra == 'all'", "gym (>=0.12.1) ; extra == 'all'", "torch (>=1.0.1) ; extra == 'all'", "requests (>=2.21.0) ; extra == 'benchmark'", "xlwt (>=1.3.0) ; extra == 'benchmark'", "xlrd (>=1.2.0) ; extra == 'benchmark'", "matplotlib (>=2.2.3) ; extra == 'benchmark'", "gym (>=0.12.1) ; extra == 'benchmark'", "torch (>=1.0.1) ; extra == 'benchmark'", "pytest (>=4.3.0) ; extra == 'dev'", "pytest-cov (>=2.6.1) ; extra == 'dev'", "mypy (>=0.630) ; extra == 'dev'", "sphinx (>=2.1.0) ; extra == 'dev'", "sphinx-rtd-theme (>=0.4.3) ; extra == 'dev'", "recommonmark (>=0.5.0) ; extra == 'dev'", "wheel (>=0.33.6) ; extra == 'dev'", "setuptools (>=28.8.0) ; extra == 'dev'" ], "requires_python": "", "summary": "A Python toolbox for performing gradient-free optimization", "version": "0.2.3" }, "last_serial": 5770751, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "97931f4cb97375356598f1471b8a6a1b", "sha256": "9cf8151345c5d6d851ddc1f04917447df616c8c911b5e122b58f0acb285fc89f" }, "downloads": -1, "filename": "nevergrad-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97931f4cb97375356598f1471b8a6a1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 101375, "upload_time": "2019-01-08T09:19:51", "url": "https://files.pythonhosted.org/packages/02/99/8ca8e7d14b47d29baf1acf5ef3ea8c340e65d1cec41aecbabcb170b0d82c/nevergrad-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5131fc25e87249cd2bb8338c6f082b43", "sha256": "e8a0b3adcf0c91fb23fd27e81bafddde89bfab0d49292dc73eb95a4bb117e3d5" }, "downloads": -1, "filename": "nevergrad-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5131fc25e87249cd2bb8338c6f082b43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75703, "upload_time": "2019-01-08T09:19:52", "url": "https://files.pythonhosted.org/packages/d6/54/5e9158e36bf3369440735940a25579172a37ce44571453a07c67620aa749/nevergrad-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a2e707085e87c0958fce84ef27919636", "sha256": "bc81519ffa30045cc395d47761c0b37c38cc9b58ad131649caeb4fd7e44ebe02" }, "downloads": -1, "filename": "nevergrad-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a2e707085e87c0958fce84ef27919636", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114380, "upload_time": "2019-01-25T09:40:46", "url": "https://files.pythonhosted.org/packages/30/55/b23347fc30722fee49f387426f945b3727ef82eccaf9baee41760cd690f2/nevergrad-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e4328be3ddce63f7079fc8a9c5081d9", "sha256": "b1ecb8668139bf80b16650ee8f678a6ad43ad3eb957a8a7186309412ab1f29a0" }, "downloads": -1, "filename": "nevergrad-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4e4328be3ddce63f7079fc8a9c5081d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86084, "upload_time": "2019-01-25T09:40:48", "url": "https://files.pythonhosted.org/packages/93/f5/79d20ff34e81316e8b6036123f8664b5c70388306801a08cb1f9fe685ad6/nevergrad-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "680496737c95b079d80ec756e9345429", "sha256": "d6cdd3f7dda24328ea811520e7f13ff8eb1549d4240f99ef47f150b69ae758e9" }, "downloads": -1, "filename": "nevergrad-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "680496737c95b079d80ec756e9345429", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 124543, "upload_time": "2019-01-28T16:50:41", "url": "https://files.pythonhosted.org/packages/40/da/c666ef8f069d5f63274d5af8b828a8d50a946f9afb0c144f42f9ccc1c16e/nevergrad-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3f5802d42b89cd7f932b9f1a43207e6", "sha256": "3006d781f6d48660500365c991fd94d409aa53b15f25dd793fc3d9893607238a" }, "downloads": -1, "filename": "nevergrad-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f3f5802d42b89cd7f932b9f1a43207e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94159, "upload_time": "2019-01-28T16:50:43", "url": "https://files.pythonhosted.org/packages/01/7f/07967d2ec9cec9258c694ed323ae9bb159b7a7f6ab70162f0dd361152235/nevergrad-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "7dad46a4d0ab14c2fab11a51d81ec56c", "sha256": "1e208a4d4c8d3d79242097d12dd73d729bd744bc99c33ecaff26e1be99de2e26" }, "downloads": -1, "filename": "nevergrad-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7dad46a4d0ab14c2fab11a51d81ec56c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 134027, "upload_time": "2019-02-12T14:15:15", "url": "https://files.pythonhosted.org/packages/30/63/91fc59c57544c89df9b234b1d1d6f5744b1b5016eb06c8fd5982f041e79d/nevergrad-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3da7e9c8dc07498fb1b6a52dd97a6afd", "sha256": "0e2f3077ab155d267ae9394e9f909171eff534f94695b7fb28635a5553026ed1" }, "downloads": -1, "filename": "nevergrad-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3da7e9c8dc07498fb1b6a52dd97a6afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101928, "upload_time": "2019-02-12T14:17:19", "url": "https://files.pythonhosted.org/packages/2b/d2/2bd68c44b32422cb230706606ed09a001ae91a54772e16b9a8076429a4b3/nevergrad-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "518a7eaf5b56b0bb2e3bdde0d54a9223", "sha256": "2f7925fcf2b919a0ccd7dcd637f5cbd5b94164ae1f2b9cadd7c1b7228d3b1940" }, "downloads": -1, "filename": "nevergrad-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "518a7eaf5b56b0bb2e3bdde0d54a9223", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 139318, "upload_time": "2019-03-07T09:19:55", "url": "https://files.pythonhosted.org/packages/6d/81/9560c99ff3f9a9fef6e069d328e749d5c54ff4c8eab19382c83a9c60671f/nevergrad-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76ec86b001a85e396275c1fe668b3e52", "sha256": "bd40c04e3e1dfc5b0b7e7c39adfd1935fef6c94050eaaf38410f3692b107d2f6" }, "downloads": -1, "filename": "nevergrad-0.1.5.tar.gz", "has_sig": false, "md5_digest": "76ec86b001a85e396275c1fe668b3e52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99662, "upload_time": "2019-03-07T09:19:57", "url": "https://files.pythonhosted.org/packages/ba/7c/bb5f1b68a3b8dd9a3b3088c5523fd93b4e9423b34d5f7548f646fcff61e8/nevergrad-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "55b70628a46990dc4a68ebb9d95bae97", "sha256": "42f14250d052ea284ff1cf9c98b37a35a83fc99f937b1cf85b6dab3ec8fbc725" }, "downloads": -1, "filename": "nevergrad-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "55b70628a46990dc4a68ebb9d95bae97", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 143110, "upload_time": "2019-03-15T13:47:49", "url": "https://files.pythonhosted.org/packages/80/53/23e6e38d96e6983bfbf9bc79fd337eb929450afd46632f44a9998b6ae6ab/nevergrad-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "965e83636b31eb7610527195eb0c2a80", "sha256": "ffc900006535aa5590ed04f359d4a141e59ce3ec4245ef3740f9057daf8abb45" }, "downloads": -1, "filename": "nevergrad-0.1.6.tar.gz", "has_sig": false, "md5_digest": "965e83636b31eb7610527195eb0c2a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103150, "upload_time": "2019-03-15T13:47:51", "url": "https://files.pythonhosted.org/packages/dd/34/2afe9ce5a0e45ca2d01d89f9ad1a96aac0ca118ea00d7b66d6b975916631/nevergrad-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "26be454b7001b45f193ec62b0242adcb", "sha256": "b53af4fda1e2282e12928f4c0c18824900ae1ef9890132b50f07081ea4a73ab4" }, "downloads": -1, "filename": "nevergrad-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "26be454b7001b45f193ec62b0242adcb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 148156, "upload_time": "2019-04-11T12:04:12", "url": "https://files.pythonhosted.org/packages/8c/ab/230dc1aac966c77a9f6c53b7c6f9e798aa81f2762c2c2b32c3e235b56830/nevergrad-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7c0974825a14a6b35d8a1f6c6a5591a", "sha256": "630c703c1a3cbbe58dad56c5d7e52ee4fff4452aebb33d312625815faef3265a" }, "downloads": -1, "filename": "nevergrad-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d7c0974825a14a6b35d8a1f6c6a5591a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108162, "upload_time": "2019-04-11T12:04:15", "url": "https://files.pythonhosted.org/packages/7e/30/6a413a730f3664410355813b73ced74c0b6b537603b220bc39d972baa24c/nevergrad-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "fade9fec70f5c42fef78c40c8df77325", "sha256": "4f7cabc3195663193633c0d3cf59f6d0faeb0b6bdcc5f9c4d7b24273e5439f86" }, "downloads": -1, "filename": "nevergrad-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fade9fec70f5c42fef78c40c8df77325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 155043, "upload_time": "2019-05-16T07:57:55", "url": "https://files.pythonhosted.org/packages/70/a8/40aac40ccbeb114f6799293142788d44aed3efa0a2239d802cc833b820a2/nevergrad-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e91feb6cf28aec097df0d8aeb3080765", "sha256": "c4593902dc3cf69039f7c9bec6105f68c0101910c32334172cd6f6298f5ab8f0" }, "downloads": -1, "filename": "nevergrad-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e91feb6cf28aec097df0d8aeb3080765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114762, "upload_time": "2019-05-16T07:57:56", "url": "https://files.pythonhosted.org/packages/be/fd/ea9f1a5dfb12d895c5b4d47ba1d06e3454cdef9771a34310ba98becf0c24/nevergrad-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "508133f2f9b7a8b0cd9cd591cf3365e9", "sha256": "8e697178ca38020e80d22018c9c657b180535865210454ab35e720ed540a97cb" }, "downloads": -1, "filename": "nevergrad-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "508133f2f9b7a8b0cd9cd591cf3365e9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 170514, "upload_time": "2019-06-20T07:17:24", "url": "https://files.pythonhosted.org/packages/46/04/b2f4673771fbd2fd07143f44a4f2880f8cbaa08a0cc32bdf287eef99c1d7/nevergrad-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50c611b069895105c6fe4f0eb81708e3", "sha256": "40ebb009e5f7f94c2962ef8388a8513e29f70928bdc57779df5dcb1bce6f769d" }, "downloads": -1, "filename": "nevergrad-0.2.2.tar.gz", "has_sig": false, "md5_digest": "50c611b069895105c6fe4f0eb81708e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125992, "upload_time": "2019-06-20T07:17:26", "url": "https://files.pythonhosted.org/packages/31/6c/48830085540838975cf613c03ff08636d8ff8eaa6da7ce2e64228fc28436/nevergrad-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ecf5ec058da035aaab5197dddb77f822", "sha256": "a16bbdee4eec548ba76ff72800d0a86e49b7cbc7da02589e3a8a1a1d7b90b6bd" }, "downloads": -1, "filename": "nevergrad-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ecf5ec058da035aaab5197dddb77f822", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 175288, "upload_time": "2019-09-02T13:01:20", "url": "https://files.pythonhosted.org/packages/66/cb/87eaf13e1978126dad2b763060075b36abe578eeef0e7e14c91336220f00/nevergrad-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de6342874e11110782b909da71cde1e8", "sha256": "eca735bf58966147ce749a455ef858f64529ee056615583e838a33b6bac7dc37" }, "downloads": -1, "filename": "nevergrad-0.2.3.tar.gz", "has_sig": false, "md5_digest": "de6342874e11110782b909da71cde1e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129041, "upload_time": "2019-09-02T13:01:23", "url": "https://files.pythonhosted.org/packages/25/56/0005d1bf54602f35755a592f36165546783aaa230335a67a63b83088dd64/nevergrad-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ecf5ec058da035aaab5197dddb77f822", "sha256": "a16bbdee4eec548ba76ff72800d0a86e49b7cbc7da02589e3a8a1a1d7b90b6bd" }, "downloads": -1, "filename": "nevergrad-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ecf5ec058da035aaab5197dddb77f822", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 175288, "upload_time": "2019-09-02T13:01:20", "url": "https://files.pythonhosted.org/packages/66/cb/87eaf13e1978126dad2b763060075b36abe578eeef0e7e14c91336220f00/nevergrad-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "de6342874e11110782b909da71cde1e8", "sha256": "eca735bf58966147ce749a455ef858f64529ee056615583e838a33b6bac7dc37" }, "downloads": -1, "filename": "nevergrad-0.2.3.tar.gz", "has_sig": false, "md5_digest": "de6342874e11110782b909da71cde1e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129041, "upload_time": "2019-09-02T13:01:23", "url": "https://files.pythonhosted.org/packages/25/56/0005d1bf54602f35755a592f36165546783aaa230335a67a63b83088dd64/nevergrad-0.2.3.tar.gz" } ] }