{ "info": { "author": "Sean Robertson", "author_email": "sdrobert@cs.toronto.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# pydrobert-gpyopt\nUtilities to streamline GPyOpt interfaces for ML\n\n## How to use\nGPyOpt is incredibly powerful, but a tad clunky. This lightweight package\nprovides two utilities in ``pydrobert.gpyopt`` to make things easier. The\nfirst, ``GPyOptObjectiveWrapper``, wraps a function for use in GPyOpt. The\nsecond, ``bayesopt``, takes a wrapper instance and a\n``BayesianOptimizationParams`` instance and handles the optimization loop.\nHere's an example:\n\n``` python\ndef foo(a, d, b, **kwargs):\n r = a ** d + b\n weirdness = kwargs['weirdness']\n if weirdness == 'flip':\n r *= -1\n elif weirdness == 'null':\n r = 0\n return r\nwrapped = GPyOptObjectiveWrapper(foo)\nwrapped.set_fixed_parameter('b', 1.) # 'b' will always be 1\nwrapped.set_variable_parameter('a', 'continuous', (-1., 1.)) # a is real\n # btw [-1,1] inc\nwrapped.set_variable_parameter('d', 'discrete', (0, 3)) # d is an int\n # btw [0, 3] inc\nwrapped.add_parameter('weirdness') # we can add new parameters as dynamic\n # keyword args if the method has a **\n # parameter\nwrapped.set_variable_parameter( # weirness one of the elements in the list\n 'weirdness', 'categorical', ('flip', 'null', None))\nparams = BayesianOptimizationParams(\n seed=1, # setting this makes the bayesian optimization deterministic\n # (assuming foo is deterministic)\n log_after_iters=5,\n)\nbest = bayesopt(wrapper, params, 'hist.csv')\n```\n\nIf you provide a history file to read/write from, optimization can be\nresumed after unexpected interrupts. There are a lot of options to ``bayesopt``\nthat are listed in ``BayesianOptimizationParams``.\n\n## Installation\n\nGPyOpt currently does not have a Conda build, so pydrobert-gpyopt is available\nvia PyPI and source install.\n\n``` bash\npip install pydrobert-gpyopt\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sdrobert/pydrobert-gpyopt", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "pydrobert-gpyopt", "package_url": "https://pypi.org/project/pydrobert-gpyopt/", "platform": "", "project_url": "https://pypi.org/project/pydrobert-gpyopt/", "project_urls": { "Homepage": "https://github.com/sdrobert/pydrobert-gpyopt" }, "release_url": "https://pypi.org/project/pydrobert-gpyopt/0.0.0/", "requires_dist": [ "numpy", "future", "GPyOpt", "param", "matplotlib" ], "requires_python": "", "summary": "Utilities to streamline GPyOpt interfaces for ML", "version": "0.0.0" }, "last_serial": 4495428, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "1681a34b9ad9bf7cfb94a7431cb7b6e5", "sha256": "e90221dce40f9f0cb2b525dd8206e4e8eb00905d9dc1fdbdf5b7f280f7b79e21" }, "downloads": -1, "filename": "pydrobert_gpyopt-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1681a34b9ad9bf7cfb94a7431cb7b6e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11698, "upload_time": "2018-11-16T23:09:55", "url": "https://files.pythonhosted.org/packages/a1/f7/ff70146ee99ab20c901058d4cc50240bfec2800c595247c9605235f08b7f/pydrobert_gpyopt-0.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba3c637467959b2f0ee4fd88533117d", "sha256": "2012c12f80741eee662d201ec0f47dd6f281807b55ec1903ae500cb51aca8af0" }, "downloads": -1, "filename": "pydrobert-gpyopt-0.0.0.tar.gz", "has_sig": false, "md5_digest": "3ba3c637467959b2f0ee4fd88533117d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11169, "upload_time": "2018-11-16T23:10:31", "url": "https://files.pythonhosted.org/packages/47/20/c190127769edcbdf804935aefcb7417c66ebabef8d7849dd48a63fb1581d/pydrobert-gpyopt-0.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1681a34b9ad9bf7cfb94a7431cb7b6e5", "sha256": "e90221dce40f9f0cb2b525dd8206e4e8eb00905d9dc1fdbdf5b7f280f7b79e21" }, "downloads": -1, "filename": "pydrobert_gpyopt-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1681a34b9ad9bf7cfb94a7431cb7b6e5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11698, "upload_time": "2018-11-16T23:09:55", "url": "https://files.pythonhosted.org/packages/a1/f7/ff70146ee99ab20c901058d4cc50240bfec2800c595247c9605235f08b7f/pydrobert_gpyopt-0.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba3c637467959b2f0ee4fd88533117d", "sha256": "2012c12f80741eee662d201ec0f47dd6f281807b55ec1903ae500cb51aca8af0" }, "downloads": -1, "filename": "pydrobert-gpyopt-0.0.0.tar.gz", "has_sig": false, "md5_digest": "3ba3c637467959b2f0ee4fd88533117d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11169, "upload_time": "2018-11-16T23:10:31", "url": "https://files.pythonhosted.org/packages/47/20/c190127769edcbdf804935aefcb7417c66ebabef8d7849dd48a63fb1581d/pydrobert-gpyopt-0.0.0.tar.gz" } ] }