{ "info": { "author": "Arno Moonens", "author_email": "arno.moonens@outlook.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Yet Another Reinforcement Learning Library (YARLL)\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/c329c8cdd744463dbda6a726e20f2383)](https://www.codacy.com/app/arnomoonens/DeepRL?utm_source=github.com&utm_medium=referral&utm_content=arnomoonens/DeepRL&utm_campaign=badger)\n\n**Update 25/03/2019**: For now, the master branch won't get big changes. Instead, algorithms are adapted for TensorFlow 2 (and new ones may be added) on the [TF2 branch](https://github.com/arnomoonens/yarll/tree/tf2).
\n**Update 29/10/2018**: New library name.
\n**Update 25/10/2018**: Added [SAC implementation](./yarll/agents/sac.py).
\n\n## Status\n\nDifferent algorithms have currently been implemented (in no particular order):\n\n- [Advantage Actor Critic](./yarll/agents/actorcritic/a2c.py)\n- [Asynchronous Advantage Actor Critic (A3C)](./yarll/agents/actorcritic/a3c.py)\n- [Deep Deterministic Policy Gradient (DDPG)](./yarll/agents/ddpg.py)\n- [Proximal Policy Optimization (PPO)](./yarll/agents/ppo/ppo.py)\n - [Distributed version (DPPO)](./yarll/agents/ppo/dppo.py)\n- [Soft Actor-Critic (SAC)](./yarll/agents/sac.py)\n- [Trust Region Policy Optimization (TRPO)](./yarll/agents/trpo/trpo.py)\n - [Distributed version (DTRPO)](./yarll/agents/trpo/dtrpo.py)\n- [REINFORCE](./yarll/agents/reinforce.py) (convolutional neural network part has not been tested yet)\n- [Cross-Entropy Method](./yarll/agents/cem.py)\n- [Sarsa with with function approximation and eligibility traces](./yarll/agents/sarsa/sarsa_fa.py)\n- [Karpathy's policy gradient algorithm](./yarll/agents/karpathy.py) ([version using convolutional neural networks](./yarll/agents/karpathy_cnn.py) has not been tested yet)\n- [(Sequential) knowledge transfer](./yarll/agents/knowledgetransfer/knowledge_transfer.py)\n- [Asynchronous knowledge transfer](./yarll/agents/knowledgetransfer/async_knowledge_transfer.py)\n\n## Asynchronous Advantage Actor Critic (A3C)\n\nThe code for this algorithm can be found [here](./yarll/agents/actorcritic/a3c.py).\nExample run after training using 16 threads for a total of 5 million timesteps on the _PongDeterministic-v4_ environment:\n\n![Pong example run](./results/pong.gif)\n\n## How to run\n\nFirst, install the library using [pip](https://pypi.python.org/pypi/pip) (you can first remove _OpenCV_ from the `setup.py` file if it is already installed):\n\n```Shell\n\npip install yarll\n\n```\n\n### Algorithms/experiments\n\nYou can run algorithms by passing the path to an experiment specification (which is a file in _json_ format) to `main.py`:\n\n```Shell\n\npython -m yarll.main \n\n```\n\nExamples of experiment specifications can be found in the [_experiment_specs_](./experiment_specs) folder.\n\n### Statistics\n\nStatistics can be plot using:\n\n```Shell\n\npython -m yarll.misc.plot_statistics \n\n```\n\n`` can be one of 2 things:\n\n- A _json_ file generated using `gym.wrappers.Monitor`, in case it plots the episode lengths and total reward per episode.\n- A directory containing _TensorFlow_ scalar summaries for different tasks, in which case all of the found scalars are plot.\n\nHelp about other arguments (e.g. for using smoothing) can be found by executing `python -m yarll.misc.plot_statistics -h`.\n\nAlternatively, it is also possible to use [_Tensorboard_](https://www.tensorflow.org/get_started/summaries_and_tensorboard) to show statistics in the browser by passing the directory with the scalar summaries as `--logdir` argument.\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/arnomoonens/YARLL", "keywords": "deep learning reinforcement learning a3c ddpg sac ppo machine neural networks", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "yarll", "package_url": "https://pypi.org/project/yarll/", "platform": "", "project_url": "https://pypi.org/project/yarll/", "project_urls": { "Homepage": "https://github.com/arnomoonens/YARLL" }, "release_url": "https://pypi.org/project/yarll/0.0.11/", "requires_dist": [ "numpy", "gym (>=0.8.0)", "tensorflow (>=1.6.0)", "matplotlib", "scipy", "opencv-contrib-python" ], "requires_python": ">=3.4", "summary": "Yet Another Reinforcement Learning Library", "version": "0.0.11" }, "last_serial": 5208318, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "1abbea2149aae96af1d58beecb37422c", "sha256": "6def1bb20f4eba7fd0cf89b098ac9a746fd154ee018b3da2519905656568971e" }, "downloads": -1, "filename": "yarll-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1abbea2149aae96af1d58beecb37422c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 87738, "upload_time": "2018-10-29T12:52:29", "url": "https://files.pythonhosted.org/packages/24/69/d7dc51087a504623e99f6e58cc07ee03c3bc6452d5f236292d553d1c520a/yarll-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "531f5ae3bd8cd784cb265208d193427e", "sha256": "6cd4a7fbb8945434b8c5d007f84780d583090181dcd0642bc7bdd87ccf54edc2" }, "downloads": -1, "filename": "yarll-0.0.1.tar.gz", "has_sig": false, "md5_digest": "531f5ae3bd8cd784cb265208d193427e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 59337, "upload_time": "2018-10-29T12:52:30", "url": "https://files.pythonhosted.org/packages/16/0b/1724d1ef7d0f5845246bd4cfca4d7a8c609d4c6903335b3236bb0717c8e1/yarll-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "ac0799e4bd478101ab80ca69fb7bdcf1", "sha256": "d980fbe8d4e0e372ddb0fe1e2879599ba9a412817f6a4eca45fb3b115462e016" }, "downloads": -1, "filename": "yarll-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "ac0799e4bd478101ab80ca69fb7bdcf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 86712, "upload_time": "2019-03-13T23:56:23", "url": "https://files.pythonhosted.org/packages/73/5d/efec4169dc986212a35c19f6174592251b59ffbf327cb93c19be6912aacc/yarll-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57a70a3ac2f2c7f9b58ed315b495492f", "sha256": "59e72ea85e854916444330b90229075bccd9d7d8bd4ce2c169e603bd465b8295" }, "downloads": -1, "filename": "yarll-0.0.10.tar.gz", "has_sig": false, "md5_digest": "57a70a3ac2f2c7f9b58ed315b495492f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 56898, "upload_time": "2019-03-13T23:56:30", "url": "https://files.pythonhosted.org/packages/4b/b0/200cdf120f264d6bb63da18bcd6e74d1af797bed4ffad5be7bc8a6dd453a/yarll-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "0acd0eee60e096f9d93d9d643c69c0bf", "sha256": "1b74832b3155347bc7b1e8c1ac8e2cb980dcbbca7bef63bf2e92d886b61db6e2" }, "downloads": -1, "filename": "yarll-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "0acd0eee60e096f9d93d9d643c69c0bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 86048, "upload_time": "2019-04-30T13:50:00", "url": "https://files.pythonhosted.org/packages/93/20/a25d19ee4302db82b8c9f1d7ab806a4759e66b95607681c26e29358dfad6/yarll-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7e616cd5e021f457d39d833d3a925cf", "sha256": "959594922d3954c55f76dde7a8ed2976c16dda7dca36b2cdc819c9cf73c94a39" }, "downloads": -1, "filename": "yarll-0.0.11.tar.gz", "has_sig": false, "md5_digest": "e7e616cd5e021f457d39d833d3a925cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 54004, "upload_time": "2019-04-30T13:50:12", "url": "https://files.pythonhosted.org/packages/f5/91/9577a2b5ed601f1c7ea14b99e3fb29dea78e5fab3cf6ba468bafd5c24f48/yarll-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "b36392e2ca34c9e12124ed6e62087ecb", "sha256": "bc9fe63dd2cf6f3e04528f6bde07915454ad77e7e0bec3b09bef73b159402a52" }, "downloads": -1, "filename": "yarll-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b36392e2ca34c9e12124ed6e62087ecb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 87680, "upload_time": "2018-10-29T14:09:11", "url": "https://files.pythonhosted.org/packages/c5/74/aec97b5d749ab50ff51ab0aca2a5379fa7914c726652e778b211735cfe6c/yarll-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "17e52a7d9087a41c1ee9fd5057eb2a81", "sha256": "4cef300e4252ea2a68747c64676d9bf3f678e20dcaf2a071d183ca2d07c04b9f" }, "downloads": -1, "filename": "yarll-0.0.2.tar.gz", "has_sig": false, "md5_digest": "17e52a7d9087a41c1ee9fd5057eb2a81", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 59374, "upload_time": "2018-10-29T14:09:13", "url": "https://files.pythonhosted.org/packages/ee/9c/2682ab78ff1032c39de08fc0605dd84340a2ea51d111b3ecf3c70a75cae7/yarll-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "4d4b51a314a0a963c2997f3579d52697", "sha256": "c8997c0e73c216895297cffbb926b93ac97ce4e406e48577aa6c32250948411b" }, "downloads": -1, "filename": "yarll-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4d4b51a314a0a963c2997f3579d52697", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 87692, "upload_time": "2018-11-07T10:39:20", "url": "https://files.pythonhosted.org/packages/09/12/db3e8a7f99ac7ce2316db38a975e4f9624b6299d72f27c8e67247f951a4e/yarll-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0a4fcdd37c0c90f33130fcfad93bce7", "sha256": "d2dd8896b61731d6e758fd881bc638514684ca2e518e2c0c13ea5ff142e4684c" }, "downloads": -1, "filename": "yarll-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f0a4fcdd37c0c90f33130fcfad93bce7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 59399, "upload_time": "2018-11-07T10:39:23", "url": "https://files.pythonhosted.org/packages/1f/9d/483bf71ac8b6f9df439faa9b1d3a7ce1ebc5347317b090d69421d5c0265a/yarll-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a633fb15d99badd0584105d478b88b6f", "sha256": "35556b5e19a15fa05791385cc105a2df502f11209bd12bed2ad6d62f803bce12" }, "downloads": -1, "filename": "yarll-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a633fb15d99badd0584105d478b88b6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 87728, "upload_time": "2018-11-14T11:28:34", "url": "https://files.pythonhosted.org/packages/79/c9/6603c5d1e32af185522c6228248460f8026eaf958e4ecc645cec4cee24a9/yarll-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e943f48f1b5c5ab1a04e185efd0e9b1", "sha256": "eed3316dec982928e914f4df4236f7938bc28927747cc84386badb39c6c36562" }, "downloads": -1, "filename": "yarll-0.0.4.tar.gz", "has_sig": false, "md5_digest": "8e943f48f1b5c5ab1a04e185efd0e9b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 59454, "upload_time": "2018-11-14T11:28:39", "url": "https://files.pythonhosted.org/packages/cb/3a/1ae65a52f0daffc59fb1b7fd868fd241f671e51ada8b71e964336adf7020/yarll-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "171a4cdd2ffb496ba263597b57c6620c", "sha256": "316eab6859bb666fc6111d9f3424c9222524719b6dc2f1138aeac2bebe658500" }, "downloads": -1, "filename": "yarll-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "171a4cdd2ffb496ba263597b57c6620c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 87840, "upload_time": "2018-12-19T10:29:17", "url": "https://files.pythonhosted.org/packages/5b/53/85422b7842b71b45d440edc42c470d27a8009777e3b7f85116e996b32c99/yarll-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f9419cd333d00cadb7ad5ede060c574", "sha256": "5cf49d20fd1cb32d847c1ec29dd2606bb55d45fa81591b5e04b8946f6b027b61" }, "downloads": -1, "filename": "yarll-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9f9419cd333d00cadb7ad5ede060c574", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 59577, "upload_time": "2018-12-19T10:29:22", "url": "https://files.pythonhosted.org/packages/87/8e/2551d974a176c56736672f2bf63c4d35737099ee597d52f89ce2cc4d38cc/yarll-0.0.5.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "01912dc7e56ae8c7e45b7fad54fd6f31", "sha256": "b3530f7b2b35fa5fc4812d38708f14628c892d56f6a74d7f33ece24fb0b1849d" }, "downloads": -1, "filename": "yarll-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "01912dc7e56ae8c7e45b7fad54fd6f31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 81113, "upload_time": "2019-01-14T10:41:01", "url": "https://files.pythonhosted.org/packages/cc/7e/1b122c07b97c7b84e4ac4dd3deb80d8a0ce2d9d55214b5688373a832aba8/yarll-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19d098db47a5671cddb2004c82d99bdd", "sha256": "c911a1c6f725ef4af5a409708927c66ee7bf4a65ff7b9c12466a6cc2dfd0a484" }, "downloads": -1, "filename": "yarll-0.0.7.tar.gz", "has_sig": false, "md5_digest": "19d098db47a5671cddb2004c82d99bdd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 53023, "upload_time": "2019-01-14T10:41:03", "url": "https://files.pythonhosted.org/packages/26/40/0120b4cdde135df52e330c883c71f3c4ffdaa7d5125eccb906d6584402f9/yarll-0.0.7.tar.gz" } ], "0.0.7.post0": [ { "comment_text": "", "digests": { "md5": "6f502ed376ef4b3040564979139fd2c1", "sha256": "5b0dc620fe7be871b5186d6d479e2ea931634597c25e1d66319b921d81543289" }, "downloads": -1, "filename": "yarll-0.0.7.post0-py3-none-any.whl", "has_sig": false, "md5_digest": "6f502ed376ef4b3040564979139fd2c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 81219, "upload_time": "2019-01-14T13:24:58", "url": "https://files.pythonhosted.org/packages/fb/03/8716dd25bbb9d189cf3eab68733ef73ffd5020ec3f7ac775048092f8eefa/yarll-0.0.7.post0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "713428fe487e2a383d1147d9dbe0b3bb", "sha256": "ad0bbd0bdaecfcc453a32307ee912ceb4e0c31dd5d92f6c815b75a89156906ff" }, "downloads": -1, "filename": "yarll-0.0.7.post0.tar.gz", "has_sig": false, "md5_digest": "713428fe487e2a383d1147d9dbe0b3bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 53094, "upload_time": "2019-01-14T13:25:00", "url": "https://files.pythonhosted.org/packages/22/02/eca4759ef14944d62670890e50fa452f0d201de860abf5b38059e82c1208/yarll-0.0.7.post0.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "b3df58c0f2c25a317470c2f37ce15f44", "sha256": "d8add43a39ab5574df5bdbdb747794afe3e3a967b6654862f422b7551636e643" }, "downloads": -1, "filename": "yarll-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "b3df58c0f2c25a317470c2f37ce15f44", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 82766, "upload_time": "2019-02-05T15:48:28", "url": "https://files.pythonhosted.org/packages/65/35/64a9caffe96a9afd16c8df020399d8ce18febf63ccff8442d6c342b1cec4/yarll-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b98ff28c98f6f275e2fea9bad9c61b5", "sha256": "f351e9a91b2c51c602ee68d7e6d3d3d7a589dd925c9eabf6e58a0bfc28c7c525" }, "downloads": -1, "filename": "yarll-0.0.8.tar.gz", "has_sig": false, "md5_digest": "6b98ff28c98f6f275e2fea9bad9c61b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 54117, "upload_time": "2019-02-05T15:48:32", "url": "https://files.pythonhosted.org/packages/86/93/3efd87895965f934de96e8874687c44be93719da30c6ede41ed512baa515/yarll-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "e5f51891bebcbb51a9fd6f05c7b117c1", "sha256": "89f2f0a6c342d722ef52a3d29cbcc6f77b92ac6be3a8c7dc80a58141ffdcdd8d" }, "downloads": -1, "filename": "yarll-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "e5f51891bebcbb51a9fd6f05c7b117c1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 82987, "upload_time": "2019-03-01T09:10:15", "url": "https://files.pythonhosted.org/packages/74/1f/c26a1ec297ff117c36271d63719cb436058134c8576adf35c69abf21f30f/yarll-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65213a7350ebed35f46e07324feb00ce", "sha256": "1aa81ebb49c2fe944d2ade1ccc6d1566db14ed7b9b2c0adfd09edada58a6a2da" }, "downloads": -1, "filename": "yarll-0.0.9.tar.gz", "has_sig": false, "md5_digest": "65213a7350ebed35f46e07324feb00ce", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 54318, "upload_time": "2019-03-01T09:10:20", "url": "https://files.pythonhosted.org/packages/d5/fa/91ec2f6d331bab0e2ae9d0f067ad1ab2775efb543eebd29e36c576248d71/yarll-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0acd0eee60e096f9d93d9d643c69c0bf", "sha256": "1b74832b3155347bc7b1e8c1ac8e2cb980dcbbca7bef63bf2e92d886b61db6e2" }, "downloads": -1, "filename": "yarll-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "0acd0eee60e096f9d93d9d643c69c0bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 86048, "upload_time": "2019-04-30T13:50:00", "url": "https://files.pythonhosted.org/packages/93/20/a25d19ee4302db82b8c9f1d7ab806a4759e66b95607681c26e29358dfad6/yarll-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7e616cd5e021f457d39d833d3a925cf", "sha256": "959594922d3954c55f76dde7a8ed2976c16dda7dca36b2cdc819c9cf73c94a39" }, "downloads": -1, "filename": "yarll-0.0.11.tar.gz", "has_sig": false, "md5_digest": "e7e616cd5e021f457d39d833d3a925cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 54004, "upload_time": "2019-04-30T13:50:12", "url": "https://files.pythonhosted.org/packages/f5/91/9577a2b5ed601f1c7ea14b99e3fb29dea78e5fab3cf6ba468bafd5c24f48/yarll-0.0.11.tar.gz" } ] }