{ "info": { "author": "Facebook AI Research", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.6" ], "description": "\n

\n\n[![GitHub license](https://img.shields.io/badge/license-Apache-blue.svg)](https://github.com/facebookresearch/phyre/blob/master/LICENSE)\n[![CircleCI](https://circleci.com/gh/facebookresearch/phyre.svg?style=svg)](https://circleci.com/gh/facebookresearch/phyre)\n\n**PHYRE** is a benchmark for physical reasoning.\n\nIt provides a set of physics puzzles in a simulated 2D world. Each puzzle\nhas a goal state (e.g., *make the green ball touch the blue wall*) and an\ninitial state in which the goal is not satisfied (see the figure below). A\npuzzle can be solved by placing one or more new bodies in the environment\nsuch that when the physical simulation is run the goal is satisfied. An agent\nplaying this game must solve previously unseen puzzles in as few attempts as\npossible.\n\n![phyre](https://raw.githubusercontent.com/facebookresearch/phyre/master/imgs/phyre_tasks.gif)\n\nYou can explore the tasks and try to solve them using the [demo](http://player.phyre.ai/) and jump straight into [jupyter notebook](https://github.com/facebookresearch/phyre/blob/master/examples/01_phyre_intro.ipynb).\n\n\n# Getting started\n\n## Installation\nThe simplest way to install PHYRE is via pip. As PHYRE requires Python version 3.6, we recommend installing PHYRE inside a virtual environment, e.g. using [Conda](https://docs.conda.io/en/latest/).\n\n We provide PHYRE as a pip package for both Linux and Mac OS.\n\n```(bash)\nconda create -n phyre python=3.6 && conda activate phyre\npip install phyre\n```\n\n To check that the installation was successful, run `python -m phyre.server` and open http://localhost:30303. That should start a local demo server.\n\nFor instructions on building PHYRE from source and installing in a Docker container, see [INSTALLATION](https://github.com/facebookresearch/phyre/blob/master/INSTALLATION.md).\n\n## Notebooks\nWe provide jupyter notebooks that show [how to use PHYRE API](https://github.com/facebookresearch/phyre/blob/master/examples/01_phyre_intro.ipynb) ([open in Colab](https://github.com/facebookresearch/phyre/blob/master/https://colab.research.google.com/github/facebookresearch/phyre/blob/master/examples/01_phyre_intro.ipynb)) to run simulations and evaluate a random agent and [how to use simulation cache](https://github.com/facebookresearch/phyre/blob/master/examples/02_memoized_agent.ipynb) ([open in Colab](https://github.com/facebookresearch/phyre/blob/master/https://colab.research.google.com/github/facebookresearch/phyre/blob/master/examples/02_memoized_agent.ipynb)) to train agents faster.\n\n## Training an agent\nWe provide a set of baseline agents that are described in the paper.\nIn order to run them, you need to install additional python dependencies with `pip install -r requirements.agents.txt`.\n\nAll the agents are located in `agents/` folder. The entry point is `train.py`\nthat will train an agent on specified eval setup with a specified fold.\nE.g., the following command will train a memoization agent:\n\n```(bash)\npython agents/train.py \\\n --output-dir=results/ball_cross_template/0 \\\n --eval-setup-name=ball_cross_template \\\n --fold-id=0 \\\n --mem-rerank-size 100 \\\n --agent-type=memoize\n```\n\nFile `run_experiment.py` contains groups of experiments, e.g, sweeping over number of update for DQN-O or training agents on all seeds and eval setups. And `train_all_baseline.sh` starts experiments to train all baseline algorithms in the paper.\n\n# License\nPHYRE is released under the Apache license. See [LICENSE](https://github.com/facebookresearch/phyre/blob/master/LICENSE) for additional details.\n\n\n# Citation\n\nIf you use PHYRE in your experiments, please cite it:\n\n```bibtex\n@article{bakhtin2019phyre,\n title={PHYRE: A New Benchmark for Physical Reasoning},\n author={Anton Bakhtin and Laurens van der Maaten and Justin Johnson and Laura Gustafson and Ross Girshick},\n year={2019},\n journal={arXiv:1908.05656}\n}\n```\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://phyre.ai", "keywords": "", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "phyre", "package_url": "https://pypi.org/project/phyre/", "platform": "", "project_url": "https://pypi.org/project/phyre/", "project_urls": { "Homepage": "https://phyre.ai" }, "release_url": "https://pypi.org/project/phyre/0.1.2/", "requires_dist": [ "nose", "numpy", "tornado", "thrift", "imageio", "scipy", "joblib" ], "requires_python": "", "summary": "Benchmark for PHYsical REasoning", "version": "0.1.2" }, "last_serial": 5941285, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a88ac0fcb03a007d2666d7d0d5d00eb3", "sha256": "b20e7ca1de9ca0f5b97740ed5021811ec45cda0a32733b04354a896afd9bfaf3" }, "downloads": -1, "filename": "phyre-0.0.1-cp36-none-macosx_10_0_universal.whl", "has_sig": false, "md5_digest": "a88ac0fcb03a007d2666d7d0d5d00eb3", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13753930, "upload_time": "2019-08-19T17:37:04", "url": "https://files.pythonhosted.org/packages/5d/1e/55cfadd45304815f718a9a0f5296c30b4ee4bb9183d27e9ddc7e7cc040be/phyre-0.0.1-cp36-none-macosx_10_0_universal.whl" }, { "comment_text": "", "digests": { "md5": "ae9fd27cb9a8b2a64f8d8d2af57e68fd", "sha256": "c292082ad778b3cf0dfdd54b09b563fb798b9d3bcad6316ddaf7ed9b423d349a" }, "downloads": -1, "filename": "phyre-0.0.1-cp36-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "ae9fd27cb9a8b2a64f8d8d2af57e68fd", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13882948, "upload_time": "2019-08-19T17:37:10", "url": "https://files.pythonhosted.org/packages/25/4f/dc493eeb5a4a88062642ed141922b0092839e03af78041e497a986666b77/phyre-0.0.1-cp36-none-manylinux1_x86_64.whl" } ], "0.0.1.1": [ { "comment_text": "", "digests": { "md5": "d9c3eb65812f4ddcf55352880520bdb0", "sha256": "0ddab941baaed0724a4eb755e71b238dc6f4255271d77dfd5f1efe5444ab9a80" }, "downloads": -1, "filename": "phyre-0.0.1.1-cp36-none-macosx_10_0_universal.whl", "has_sig": false, "md5_digest": "d9c3eb65812f4ddcf55352880520bdb0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13757293, "upload_time": "2019-08-26T22:39:07", "url": "https://files.pythonhosted.org/packages/e5/82/723fb050aaa4a2d042def59c4c7270dacdbff78053e479436476ab529895/phyre-0.0.1.1-cp36-none-macosx_10_0_universal.whl" }, { "comment_text": "", "digests": { "md5": "c2b073c54d6b1931c603caf70c143b90", "sha256": "bbc7739c2ef81fe205ece14f8f0c87d001246f742e01369c970d39cdb2238335" }, "downloads": -1, "filename": "phyre-0.0.1.1-cp36-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "c2b073c54d6b1931c603caf70c143b90", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13886309, "upload_time": "2019-08-26T22:39:12", "url": "https://files.pythonhosted.org/packages/02/a3/c9d57cdb7a73a61cb1f4d32993b7df4068536aa399cdc7f134cc9d1c666a/phyre-0.0.1.1-cp36-none-manylinux1_x86_64.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d2c34640cb7136e36bdfb2456e6f00e6", "sha256": "39cf010f50d145a03ac25c4ddb6da9e6cabb5decd5c99f238a6b4b110aa6e9f9" }, "downloads": -1, "filename": "phyre-0.1.2-cp36-none-macosx_10_0_universal.whl", "has_sig": false, "md5_digest": "d2c34640cb7136e36bdfb2456e6f00e6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13757546, "upload_time": "2019-10-07T20:31:32", "url": "https://files.pythonhosted.org/packages/56/c1/491457b77d5008f2ae9d2c24df5dca3edbca540fc9c7fc15da7d267aec8a/phyre-0.1.2-cp36-none-macosx_10_0_universal.whl" }, { "comment_text": "", "digests": { "md5": "34983e198ff5e1b129c28dee07a5de85", "sha256": "5ebace2ea750bcf609fe896f9a16c380e7b425071cf25f6d667de0bc30e489fa" }, "downloads": -1, "filename": "phyre-0.1.2-cp36-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "34983e198ff5e1b129c28dee07a5de85", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13886558, "upload_time": "2019-10-07T20:31:36", "url": "https://files.pythonhosted.org/packages/4a/f9/a6a75b4f74e631a715fa1e809b1e9cf627782ba678f861b376f3ed4a72b2/phyre-0.1.2-cp36-none-manylinux1_x86_64.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2c34640cb7136e36bdfb2456e6f00e6", "sha256": "39cf010f50d145a03ac25c4ddb6da9e6cabb5decd5c99f238a6b4b110aa6e9f9" }, "downloads": -1, "filename": "phyre-0.1.2-cp36-none-macosx_10_0_universal.whl", "has_sig": false, "md5_digest": "d2c34640cb7136e36bdfb2456e6f00e6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13757546, "upload_time": "2019-10-07T20:31:32", "url": "https://files.pythonhosted.org/packages/56/c1/491457b77d5008f2ae9d2c24df5dca3edbca540fc9c7fc15da7d267aec8a/phyre-0.1.2-cp36-none-macosx_10_0_universal.whl" }, { "comment_text": "", "digests": { "md5": "34983e198ff5e1b129c28dee07a5de85", "sha256": "5ebace2ea750bcf609fe896f9a16c380e7b425071cf25f6d667de0bc30e489fa" }, "downloads": -1, "filename": "phyre-0.1.2-cp36-none-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "34983e198ff5e1b129c28dee07a5de85", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 13886558, "upload_time": "2019-10-07T20:31:36", "url": "https://files.pythonhosted.org/packages/4a/f9/a6a75b4f74e631a715fa1e809b1e9cf627782ba678f861b376f3ed4a72b2/phyre-0.1.2-cp36-none-manylinux1_x86_64.whl" } ] }