后台小程序开发的全方位指南
815
2022-10-11
Bezos:轻量小巧的深度强化学习框架
Bezos is a light Deep RL framework that you can fork and extend. Report Bug · Request Feature
Table of Contents
Table of ContentsAbout The ProjectFeaturesBuilt With Getting StartedInstallation UsageTrain a model (params in the config file)Evaluate a model ContributingLicenseContact
About The Project
There are many great reinforcement learning frameworks on GitHub, however, I didn't find one that was light and small enough to let me fork it and add my own algorithms while still feeling in control. I thus created Bezos, a very light RL framework which implements all the boring things so that you don't have to.
Features
Rollout class (supports GAE, reward to go, and recurrent neural network)Runner class: loads a Gym env and runs one or multiple agents on the environment to generate rolloutsA simple Actor Critic NetworkRL Algorithm: PPO Paper on ArxivRL Algorithm: A2C OpenAI blog postSupports all the OpenAI Gym envI added all the Vizdoom envs as well (look into kits/)Supports the marLo env Github (look into kits/)A bunch of useful OpenAI Gym wrappers. Includes frame skipping, RGB→Grayscale, cropping, and many more. (look into envs.py)
Built With
The framework uses Pytorch to do all the deep learning stuff, numpy, and OpenAI Gym
PytorchOpenAI GymNumpy
Getting Started
Bezos has been designed to be configured before each run with a YAML file. Some examples of those YAML config files can be found in the configs folder. If you want to know what a parameter does (they are all self explanatory) check the source :)
Installation
Create a new conda env (yo don't use python 2 ok)pip install -r requirements.txt
Usage
Train a model (params in the config file)
python bezos.py --config ./configs/ppo-minecraft.yaml train
Evaluate a model
python bezos.py --config ./configs/ppo-minecraft.yaml evaluate --det
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
Fork the ProjectCreate your Feature Branch (git checkout -b feature/AmazingFeature)Commit your Changes (git commit -m 'Add some AmazingFeature)Push to the Branch (git push origin feature/AmazingFeature)Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~