[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-AI4Finance-Foundation--ElegantRL":3,"similar-AI4Finance-Foundation--ElegantRL":117},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":18,"owner_email":19,"owner_twitter":20,"owner_website":21,"owner_url":22,"languages":23,"stars":32,"forks":33,"last_commit_at":34,"license":35,"difficulty_score":36,"env_os":37,"env_gpu":38,"env_ram":37,"env_deps":39,"category_tags":49,"github_topics":54,"view_count":72,"oss_zip_url":18,"oss_zip_packed_at":18,"status":73,"created_at":74,"updated_at":75,"faqs":76,"releases":112},8786,"AI4Finance-Foundation\u002FElegantRL","ElegantRL","Massively Parallel Deep Reinforcement Learning. 🔥","ElegantRL（中文名“小雅”）是一个轻量级且结构清晰的深度强化学习框架，旨在以最小的复杂度和最高的清晰度实现核心算法。它主要解决了现有框架依赖繁重、代码晦涩以及在大规模并行场景下扩展性不足的问题，让研究人员和开发者能够更专注于算法逻辑本身而非工程细节。\n\n该工具特别适合需要高效训练模型的 AI 研究人员、希望深入理解强化学习原理的开发者，以及需要在云端部署大规模仿真任务的技术团队。其核心亮点在于“极简”与“高性能”的平衡：核心代码少于 1000 行，去除了不必要的第三方依赖，却支持云原生架构和弹性资源分配。ElegantRL 能够充分利用数百甚至数千个 GPU 节点进行大规模并行模拟，在采样速度和训练稳定性上表现优异，实测效率常优于 Ray RLlib，稳定性超越 Stable Baselines 3。作为 FinRL 等知名项目的底层引擎，它以纯粹、可扩展的代码设计，为用户提供了从单卡实验到超算集群部署的一站式解决方案。","\u003Cdiv align=\"center\">\r\n\u003Cimg align=\"center\" width=\"30%\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f9eb226e779e.png\">\r\n\u003C\u002Fdiv>\r\n\r\n## ElegantRL “小雅”: Massively Parallel Deep Reinforcement Learning\r\n\r\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f61123a4c99f.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Felegantrl)\r\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f61123a4c99f.png\u002Fweek)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Felegantrl)\r\n[![Python 3.6](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.6-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-360\u002F)\r\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Felegantrl.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Felegantrl\u002F)\r\n![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FAI4Finance-Foundation\u002Felegantrl.svg?color=brightgreen)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Issues)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Closed+Issues)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Open+PRs)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr-closed-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Closed+PRs)\r\n\r\n\u003Cbr\u002F>\r\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\" target=\"\\_blank\">\r\n\t\u003Cdiv align=\"center\">\r\n\t\t\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_aa1e33f53a01.jpg\" width=\"40%\"\u002F> \r\n\t\u003C\u002Fdiv>\r\n\u003C!-- \t\u003Cdiv align=\"center\">\u003Ccaption>Slack Invitation Link\u003C\u002Fcaption>\u003C\u002Fdiv> -->\r\n\u003C\u002Fa>\r\n\u003Cbr\u002F>\r\n\r\nElegantRL is a lightweight and structurally clean reinforcement learning framework designed to express core RL algorithms with minimal complexity and maximal clarity.\r\n\r\nThe name “Elegant” reflects its philosophy:\r\nsmall in dependency footprint, yet elegant in code structure.\r\nThe framework avoids unnecessary third-party libraries while maintaining modular design, mathematical transparency, and engineering readability.\r\n\r\nElegantRL focuses on implementing reinforcement learning algorithms in their pure form — clear, extensible, and efficient — without sacrificing performance or simplicity.\r\n\r\n\r\n![Visitors](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_da803b3809d6.png)\r\n[![](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002Ftrsr8SXpW5?cb=1)](https:\u002F\u002Fdiscord.gg\u002Ftrsr8SXpW5)\r\n\r\n\r\n\r\nElegantRL ([website](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)) is developed for users\u002Fdevelopers with the following advantages:\r\n\r\n- **Cloud-native**: follows a cloud-native paradigm through micro-service architecture and containerization, and supports [ElegantRL-Podracer](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Felegantrl-podracer.html) and [FinRL-Podracer](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Ffinrl-podracer.html).\r\n\r\n- **Scalable**: fully exploits the parallelism of DRL algorithms, making it easily scale out to hundreds or thousands of computing nodes on a cloud platform, say, a [DGX SuperPOD platform](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fdgx-superpod\u002F) with thousands of GPUs.\r\n\r\n- **Elastic**: allows to elastically and automatically allocate computing resources on the cloud.\r\n\r\n- **Lightweight**: the core codes have \u003C1,000 lines (check [Elegantrl_Helloworld](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Fhelloworld)).\r\n\r\n- **Efficient**: in many testing cases (e.g., single-GPU\u002Fmulti-GPU\u002FGPU-cloud), we find it more efficient than [Ray RLlib](https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray). \r\n\r\n- **Stable**: much much much more stable than [Stable Baselines 3](https:\u002F\u002Fgithub.com\u002FDLR-RM\u002Fstable-baselines3) by utilizing various methods such as the Hamiltonian term.\r\n  \r\n- **Practical**: used in multipe projects ([FinRL](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL), [FinRL-Meta](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL-Meta), etc.)\r\n\r\n- **Massively parallel simulations** are used in multipe projects ([FinRL](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL), etc.); therefore, the sampling speed is high since we can build many many GPU-based environments. \r\n  \r\nElegantRL implements the following model-free deep reinforcement learning (DRL) algorithms:\r\n\r\n- **DDPG, TD3, SAC, PPO, REDQ** for continuous actions in single-agent environment,\r\n- **DQN, Double DQN, D3QN** for discrete actions in single-agent environment,\r\n- **QMIX, VDN, MADDPG, MAPPO, MATD3** in multi-agent environment.\r\n\r\nFor more details of DRL algorithms, please refer to the educational webpage [OpenAI Spinning Up](https:\u002F\u002Fspinningup.openai.com\u002Fen\u002Flatest\u002F).\r\n\r\nElegantRL supports the following simulators:\r\n\r\n- **Isaac Gym** for massively parallel simulations,\r\n- **OpenAI Gym, MuJoCo, PyBullet, FinRL** for benchmarking.\r\n\r\n\r\n## Contents\r\n\r\n- [News](#News)\r\n- [ElegantRL-Helloworld](#ElegantRL-Helloworld)\r\n- [File Structure](#File-Structure)\r\n- [Experimental Demos](#Experimental-Demos)\r\n- [Requirements](#Requirements)\r\n- [Citation](#Citation)\r\n\r\n\r\n## Tutorials\r\n\r\n- [Towardsdatascience] [A New Era of Massively Parallel Simulation: A Practical Tutorial Using ElegantRL](https:\u002F\u002Fmedium.com\u002Ftowards-data-science\u002Fa-new-era-of-massively-parallel-simulation-a-practical-tutorial-using-elegantrl-5ebc483c3385), Nov. 2, 2022.\r\n- [MLearning.ai] [ElegantRL: Much More Stable Deep Reinforcement Learning Algorithms than Stable-Baseline3](https:\u002F\u002Fmedium.com\u002Fmlearning-ai\u002Felegantrl-much-much-more-stable-than-stable-baseline3-f096533c26db), Mar. 3, 2022.\r\n- [Towardsdatascience] [ElegantRL-Podracer: A Scalable and Elastic Library for Cloud-Native Deep Reinforcement Learning](https:\u002F\u002Felegantrl.medium.com\u002Felegantrl-podracer-scalable-and-elastic-library-for-cloud-native-deep-reinforcement-learning-bafda6f7fbe0), Dec. 11, 2021.\r\n- [Towardsdatascience] [ElegantRL: Mastering PPO Algorithms](https:\u002F\u002Fmedium.com\u002F@elegantrl\u002Felegantrl-mastering-the-ppo-algorithm-part-i-9f36bc47b791), May. 3, 2021.\r\n- [MLearning.ai] [ElegantRL Demo: Stock Trading Using DDPG (Part II)](https:\u002F\u002Fmedium.com\u002Fmlearning-ai\u002Felegantrl-demo-stock-trading-using-ddpg-part-ii-d3d97e01999f), Apr. 19, 2021.\r\n- [MLearning.ai] [ElegantRL Demo: Stock Trading Using DDPG (Part I)](https:\u002F\u002Felegantrl.medium.com\u002Felegantrl-demo-stock-trading-using-ddpg-part-i-e77d7dc9d208), Mar. 28, 2021.\r\n- [Towardsdatascience] [ElegantRL-Helloworld: A Lightweight and Stable Deep Reinforcement Learning Library](https:\u002F\u002Ftowardsdatascience.com\u002Felegantrl-a-lightweight-and-stable-deep-reinforcement-learning-library-95cef5f3460b), Mar. 4, 2021.\r\n\r\n## ElegantRL-Helloworld\r\n\r\n\u003Cdiv align=\"center\">\r\n\t\u003Cimg align=\"center\" src=figs\u002FFile_structure.png width=\"800\">\r\n\u003C\u002Fdiv>\r\n\r\nFor beginners, we maintain [ElegantRL-Helloworld](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Fhelloworld) as a tutorial. Its goal is to get hands-on experience with ELegantRL.\r\n\r\n- Run the [tutorial code and learn about RL algorithms in this order: DQN -> DDPG -> PPO](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Felegantrl_helloworld)\r\n- Write the [suggestion for Eleagant_HelloWorld in github issue](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F135).\r\n\r\nOne sentence summary: an agent (_agent.py_) with Actor-Critic networks (_net.py_) is trained (_run.py_) by interacting with an environment (_env.py_).\r\n\r\n## File Structure\r\n\r\n- **elegantrl** # main folder\r\n  - **agents**  # a collection of DRL algorithms\r\n  \t- AgentXXX.py  # a collection of one kind of DRL algorithms\r\n  \t- **net.py**  # a collection of network architectures\r\n  - **envs** # a collection of environments\r\n  \t- XxxEnv.py  # a training environment for RL\r\n  - train # a collection of training programs\r\n      \t- demo.py  # a collection of demos\r\n  \t- config.py  # configurations (hyper-parameter)\r\n  \t- **run.py**  # training loop\r\n  \t- worker.py  # the worker class (explores the env, saving the data to replay buffer)\r\n  \t- learner.py  # the learner class (update the networks, using the data in replay buffer)\r\n  \t- evaluator.py  # the evaluator class (evaluate the cumulative rewards of policy network)\r\n  \t- replay_buffer.py # the buffer class (save sequences of transitions for training)\r\n- **elegantrl_helloworld** # tutorial version\r\n  - config.py  # configurations (hyper-parameter)\r\n  - **agent.py**  # DRL algorithms\r\n  - **net.py**  # network architectures \r\n  - **run.py**  # training loop\r\n  - **env.py**  # environments for RL training\r\n\r\n- **examples** # a collection of example codes\r\n- **ready-to-run Google-Colab notebooks**\r\n  - quickstart_Pendulum_v1.ipynb\r\n  - tutorial_BipedalWalker_v3.ipynb\r\n  - tutorial_Creating_ChasingVecEnv.ipynb\r\n  - tutorial_LunarLanderContinuous_v2.ipynb\r\n- **unit_tests** # a collection of tests\r\n\r\n## Experimental Demos\r\n\r\n### More efficient than Ray RLlib\r\n\r\nExperiments on Ant (MuJoCo), Humainoid (MuJoCo), Ant (Isaac Gym), Humanoid (Isaac Gym) # from left to right\r\n\r\n\u003Cdiv align=\"center\">\r\n\t\u003Cimg align=\"center\" src=figs\u002Fenvs.png width=\"800\">\r\n\t\u003Cimg align=\"center\" src=figs\u002Fperformance1.png width=\"800\">\r\n\t\u003Cimg align=\"center\" src=figs\u002Fperformance2.png width=\"800\">\r\n\u003C\u002Fdiv>\r\n\r\nElegantRL fully supports Isaac Gym that runs massively parallel simulation (e.g., 4096 sub-envs) on one GPU.\r\n\r\n### More stable than Stable-baseline 3\r\n\r\nExperiment on Hopper-v2 # ElegantRL achieves much smaller variance (average over 8 runs).\r\n\r\nAlso, PPO+H in ElegantRL completed the training process of 5M samples about 6x faster than Stable-Baseline3.\r\n\r\n\u003Cdiv align=\"center\">\r\n\t\u003Cimg align=\"center\" src=figs\u002FSB3_vs_ElegantRL.png width=\"640\">\r\n\u003C\u002Fdiv>\r\n\r\n## Testing and Contributing\r\n\r\nOur tests are written with the built-in `unittest` Python module for easy access. In order to run a specific test file (for example, `test_training_agents.py`), use the following command from the root directory:\r\n\r\n    python -m unittest unit_tests\u002Ftest_training_agents.py\r\n\r\nIn order to run all the tests sequentially, you can use the following command:\r\n\r\n    python -m unittest discover\r\n\r\nPlease note that some of the tests require [Isaac Gym](https:\u002F\u002Fdeveloper.nvidia.com\u002Fisaac-gym) to be installed on your system. If it is not, any tests related to Isaac Gym will fail.\r\n\r\nWe welcome any contributions to the codebase, but we ask that you please **do not** submit\u002Fpush code that breaks the tests. Also, please shy away from modifying the tests just to get your proposed changes to pass them. As it stands, the tests on their own are quite minimal (instantiating environments, training agents for one step, etc.), so if they're breaking, it's almost certainly a problem with your code and not with the tests.\r\n\r\nWe're actively working on refactoring and trying to make the codebase cleaner and more performant as a whole. If you'd like to help us clean up some code, we'd strongly encourage you to also watch [Uncle Bob's clean coding lessons](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLmmYSbUCWJ4x1GO839azG_BBw8rkh-zOj) if you haven't already.\r\n\r\n## Requirements\r\n\r\n    Necessary:\r\n    | Python 3.6+     |\r\n    | PyTorch 1.6+    |\r\n\r\n    Not necessary:\r\n    | Numpy 1.18+     | For ReplayBuffer. Numpy will be installed along with PyTorch.\r\n    | gym 0.17.0      | For env. Gym provides tutorial env for DRL training. (env.render() bug in gym==0.18 pyglet==1.6. Change to gym==0.17.0, pyglet==1.5)\r\n    | pybullet 2.7+   | For env. We use PyBullet (free) as an alternative of MuJoCo (not free).\r\n    | box2d-py 2.3.8  | For gym. Use pip install Box2D (instead of box2d-py)\r\n    | matplotlib 3.2  | For plots.\r\n\r\n    pip3 install gym==0.17.0 pybullet Box2D matplotlib # or pip install -r requirements.txt\r\n    \r\n    To install StarCraftII env,\r\n    bash .\u002Felegantrl\u002Fenvs\u002Finstallsc2.sh\r\n    pip install -r sc2_requirements.txt\r\n\r\n## Citation:\r\n\r\nTo cite this repository:\r\n\r\n```\r\n@misc{erl,\r\n  author = {Liu, Xiao-Yang and Li, Zechu and Zhu, Ming and Wang, Zhaoran and Zheng, Jiahao},\r\n  title = {{ElegantRL}: Massively Parallel Framework for Cloud-native Deep Reinforcement Learning},\r\n  year = {2021},\r\n  publisher = {GitHub},\r\n  journal = {GitHub repository},\r\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL}},\r\n}\r\n```\r\n\r\n```\r\n@article{liu2021elegantrl,\r\n  title={ElegantRL-Podracer: Scalable and elastic library for cloud-native deep reinforcement learning},\r\n  author={Liu, Xiao-Yang and Li, Zechu and Yang, Zhuoran and Zheng, Jiahao and Wang, Zhaoran and Walid, Anwar and Guo, Jian and Jordan, Michael I},\r\n  journal={NeurIPS, Workshop on Deep Reinforcement Learning},\r\n  year={2021}\r\n}\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\u003Cdiv align=\"center\">\r\n\u003Cimg align=\"center\" width=\"30%\" alt=\"image\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f9eb226e779e.png\">\r\n\u003C\u002Fdiv>\r\n\r\n## ElegantRL “小雅”: 大规模并行深度强化学习\r\n\r\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f61123a4c99f.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Felegantrl)\r\n[![每周下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_f61123a4c99f.png\u002Fweek)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Felegantrl)\r\n[![Python 3.6](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.6-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-360\u002F)\r\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Felegantrl.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Felegantrl\u002F)\r\n![许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FAI4Finance-Foundation\u002Felegantrl.svg?color=brightgreen)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Issues)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Closed+Issues)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Open+PRs)\r\n![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr-closed-raw\u002FAI4Finance-Foundation\u002Felegantrl?label=Closed+PRs)\r\n\r\n\u003Cbr\u002F>\r\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\" target=\"\\_blank\">\r\n\t\u003Cdiv align=\"center\">\r\n\t\t\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_aa1e33f53a01.jpg\" width=\"40%\"\u002F> \r\n\t\u003C\u002Fdiv>\r\n\u003C!-- \t\u003Cdiv align=\"center\">\u003Ccaption>Slack邀请链接\u003C\u002Fcaption>\u003C\u002Fdiv> -->\r\n\u003C\u002Fa>\r\n\u003Cbr\u002F>\r\n\r\nElegantRL是一个轻量级且结构清晰的强化学习框架，旨在以最小的复杂度和最大的清晰度来表达核心RL算法。\n\n“Elegant”这个名字反映了它的理念：依赖项占用空间小，但代码结构优雅。该框架避免了不必要的第三方库，同时保持模块化设计、数学上的透明性以及工程上的可读性。\n\nElegantRL专注于以纯粹的形式实现强化学习算法——清晰、可扩展且高效——而不牺牲性能或简洁性。\r\n\r\n\r\n![访问者](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_readme_da803b3809d6.png)\r\n[![](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002Ftrsr8SXpW5?cb=1)](https:\u002F\u002Fdiscord.gg\u002Ftrsr8SXpW5)\r\n\r\n\r\n\r\nElegantRL（[官网](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)）专为用户\u002F开发者打造，具有以下优势：\n\n- **云原生**：通过微服务架构和容器化遵循云原生范式，并支持[ElegantRL-Podracer](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Felegantrl-podracer.html)和[FinRL-Podracer](https:\u002F\u002Felegantrl.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Ffinrl-podracer.html)。\n\n- **可扩展**：充分利用DRL算法的并行性，使其能够轻松扩展到云平台上的数百甚至数千个计算节点，例如拥有数千块GPU的[DGX SuperPOD平台](https:\u002F\u002Fwww.nvidia.com\u002Fen-us\u002Fdata-center\u002Fdgx-superpod\u002F)。\n\n- **弹性**：允许在云端弹性且自动地分配计算资源。\n\n- **轻量级**：核心代码少于1,000行（参见[Elegantrl_Helloworld](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Fhelloworld)）。\n\n- **高效**：在许多测试案例中（例如单GPU、多GPU、GPU云），我们发现它比[Ray RLlib](https:\u002F\u002Fgithub.com\u002Fray-project\u002Fray)更高效。\n\n- **稳定**：通过利用诸如哈密顿量项等多种方法，其稳定性远超[Stable Baselines 3](https:\u002F\u002Fgithub.com\u002FDLR-RM\u002Fstable-baselines3)。\n\n- **实用**：已被用于多个项目（[FinRL](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL)、[FinRL-Meta](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL-Meta)等）。\n\n- **大规模并行仿真**被广泛应用于多个项目（如[FinRL](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FFinRL)等）；因此，采样速度非常快，因为我们可以构建大量基于GPU的环境。\r\n\r\nElegantRL实现了以下无模型深度强化学习（DRL）算法：\n\n- **DDPG、TD3、SAC、PPO、REDQ**适用于单智能体环境中的连续动作，\n- **DQN、Double DQN、D3QN**适用于单智能体环境中的离散动作，\n- **QMIX、VDN、MADDPG、MAPPO、MATD3**适用于多智能体环境。\n\n有关DRL算法的更多详细信息，请参阅教育网页[OpenAI Spinning Up](https:\u002F\u002Fspinningup.openai.com\u002Fen\u002Flatest\u002F)。\n\nElegantRL支持以下模拟器：\n\n- **Isaac Gym**用于大规模并行仿真，\n- **OpenAI Gym、MuJoCo、PyBullet、FinRL**用于基准测试。\r\n\r\n\r\n## 目录\r\n\r\n- [新闻](#News)\r\n- [ElegantRL-Helloworld](#ElegantRL-Helloworld)\r\n- [文件结构](#File-Structure)\r\n- [实验演示](#Experimental-Demos)\r\n- [要求](#Requirements)\r\n- [引用](#Citation)\r\n\r\n\r\n## 教程\r\n\r\n- [Towardsdatascience] [大规模并行仿真的新时代：使用ElegantRL的实用教程](https:\u002F\u002Fmedium.com\u002Ftowards-data-science\u002Fa-new-era-of-massively-parallel-simulation-a-practical-tutorial-using-elegantrl-5ebc483c3385)，2022年11月2日。\n- [MLearning.ai] [ElegantRL：比Stable-Baseline3更稳定的深度强化学习算法](https:\u002F\u002Fmedium.com\u002Fmlearning-ai\u002Felegantrl-much-much-more-stable-than-stable-baseline3-f096533c26db)，2022年3月3日。\n- [Towardsdatascience] [ElegantRL-Podracer：面向云原生深度强化学习的可扩展且弹性的库](https:\u002F\u002Felegantrl.medium.com\u002Felegantrl-podracer-scalable-and-elastic-library-for-cloud-native-deep-reinforcement-learning-bafda6f7fbe0)，2021年12月11日。\n- [Towardsdatascience] [ElegantRL：掌握PPO算法](https:\u002F\u002Fmedium.com\u002F@elegantrl\u002Felegantrl-mastering-the-ppo-algorithm-part-i-9f36bc47b791)，2021年5月3日。\n- [MLearning.ai] [ElegantRL演示：使用DDPG进行股票交易（第二部分）](https:\u002F\u002Fmedium.com\u002Fmlearning-ai\u002Felegantrl-demo-stock-trading-using-ddpg-part-ii-d3d97e01999f)，2021年4月19日。\n- [MLearning.ai] [ElegantRL演示：使用DDPG进行股票交易（第一部分）](https:\u002F\u002Felegantrl.medium.com\u002Felegantrl-demo-stock-trading-using-ddpg-part-i-e77d7dc9d208)，2021年3月28日。\n- [Towardsdatascience] [ElegantRL-Helloworld：一个轻量级且稳定的深度强化学习库](https:\u002F\u002Ftowardsdatascience.com\u002Felegantrl-a-lightweight-and-stable-deep-reinforcement-learning-library-95cef5f3460b)，2021年3月4日。\n\n## ElegantRL-HelloWorld\r\n\r\n\u003Cdiv align=\"center\">\r\n\t\u003Cimg align=\"center\" src=figs\u002FFile_structure.png width=\"800\">\r\n\u003C\u002Fdiv>\r\n\r\n对于初学者，我们维护了 [ElegantRL-HelloWorld](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Fhelloworld) 作为教程。其目标是帮助用户通过实践掌握 ElegantRL 的使用方法。\n\n- 按照以下顺序运行教程代码并学习强化学习算法：DQN -> DDPG -> PPO [](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Ftree\u002Fmaster\u002Felegantrl_helloworld)\n- 在 GitHub 问题中提交对 Eleagant_HelloWorld 的建议 [](https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F135)。\n\n一句话总结：一个带有演员-评论家网络（_net.py_）的智能体（_agent.py_），通过与环境（_env.py_）交互进行训练（_run.py_）。\n\n## 文件结构\n\n- **elegantrl** # 主文件夹\n  - **agents**  # 强化学习算法集合\n  \t- AgentXXX.py  # 一类强化学习算法的实现\n  \t- **net.py**  # 网络架构集合\n  - **envs** # 环境集合\n  \t- XxxEnv.py  # 用于强化学习训练的环境\n  - train # 训练程序集合\n      \t- demo.py  # 示例集合\n  \t- config.py  # 配置文件（超参数）\n  \t- **run.py**  # 训练循环\n  \t- worker.py  # 工作者类（探索环境，将数据保存到回放缓冲区）\n  \t- learner.py  # 学习者类（利用回放缓冲区中的数据更新网络）\n  \t- evaluator.py  # 评估者类（评估策略网络的累积奖励）\n  \t- replay_buffer.py # 缓冲区类（保存用于训练的状态转移序列）\n- **elegantrl_helloworld** # 教程版本\n  - config.py  # 配置文件（超参数）\n  - **agent.py**  # 强化学习算法\n  - **net.py**  # 网络架构\n  - **run.py**  # 训练循环\n  - **env.py**  # 用于强化学习训练的环境\n\n- **examples** # 示例代码集合\n- **可直接运行的 Google Colab 笔记本**\n  - quickstart_Pendulum_v1.ipynb\n  - tutorial_BipedalWalker_v3.ipynb\n  - tutorial_Creating_ChasingVecEnv.ipynb\n  - tutorial_LunarLanderContinuous_v2.ipynb\n- **unit_tests** # 测试集合\n\n## 实验演示\n\n### 效率高于 Ray RLlib\n\n在 Ant (MuJoCo)、Humanoid (MuJoCo)、Ant (Isaac Gym) 和 Humanoid (Isaac Gym) 上的实验 # 从左至右\n\n\u003Cdiv align=\"center\">\n\t\u003Cimg align=\"center\" src=figs\u002Fenvs.png width=\"800\">\n\t\u003Cimg align=\"center\" src=figs\u002Fperformance1.png width=\"800\">\n\t\u003Cimg align=\"center\" src=figs\u002Fperformance2.png width=\"800\">\n\u003C\u002Fdiv>\n\nElegantRL 完全支持 Isaac Gym，能够在单个 GPU 上运行大规模并行仿真（例如 4096 个子环境）。\n\n### 稳定性优于 Stable-baseline 3\n\nHopper-v2 上的实验 # ElegantRL 的方差要小得多（8 次运行的平均值）。此外，ElegantRL 中的 PPO+H 在训练 500 万步时，速度比 Stable-Baseline3 快约 6 倍。\n\n\u003Cdiv align=\"center\">\n\t\u003Cimg align=\"center\" src=figs\u002FSB3_vs_ElegantRL.png width=\"640\">\n\u003C\u002Fdiv>\n\n## 测试与贡献\n\n我们的测试使用 Python 内置的 `unittest` 模块编写，便于访问。要运行特定的测试文件（例如 `test_training_agents.py`），请从根目录运行以下命令：\n\n    python -m unittest unit_tests\u002Ftest_training_agents.py\n\n要按顺序运行所有测试，可以使用以下命令：\n\n    python -m unittest discover\n\n请注意，部分测试需要在系统上安装 [Isaac Gym](https:\u002F\u002Fdeveloper.nvidia.com\u002Fisaac-gym)。如果未安装，与 Isaac Gym 相关的所有测试都将失败。\n\n我们欢迎任何对代码库的贡献，但请务必 **不要** 提交或推送会破坏测试的代码。同时，请避免仅仅为了让您的更改通过测试而修改测试本身。目前，这些测试本身非常简单（实例化环境、让智能体训练一步等），因此如果测试失败，几乎可以肯定问题出在您的代码上，而不是测试本身。\n\n我们正在积极重构代码，努力使整个代码库更加整洁和高效。如果您愿意帮助我们清理代码，强烈建议您观看 [Uncle Bob 的清洁编码课程](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLmmYSbUCWJ4x1GO839azG_BBw8rkh-zOj)，如果您尚未观看的话。\n\n## 系统要求\n\n    必需：\n    | Python 3.6+     |\n    | PyTorch 1.6+    |\n\n    非必需：\n    | Numpy 1.18+     | 用于 ReplayBuffer。Numpy 将随 PyTorch 一起安装。\n    | gym 0.17.0      | 用于环境。Gym 提供用于强化学习训练的示例环境。（gym==0.18 时 pyglet==1.6 存在 env.render() 错误，改为 gym==0.17.0, pyglet==1.5）\n    | pybullet 2.7+   | 用于环境。我们使用免费的 PyBullet 作为 MuJoCo（非免费）的替代品。\n    | box2d-py 2.3.8  | 用于 gym。请使用 pip install Box2D（而非 box2d-py）\n    | matplotlib 3.2  | 用于绘图。\n\n    pip3 install gym==0.17.0 pybullet Box2D matplotlib # 或者 pip install -r requirements.txt\n\n    要安装 StarCraftII 环境，\n    bash .\u002Felegantrl\u002Fenvs\u002Finstallsc2.sh\n    pip install -r sc2_requirements.txt\n\n## 引用：\n\n引用本仓库时：\n\n```\r\n@misc{erl,\r\n  author = {Liu, Xiao-Yang and Li, Zechu and Zhu, Ming and Wang, Zhaoran and Zheng, Jiahao},\r\n  title = {{ElegantRL}: 大规模并行的云原生深度强化学习框架},\r\n  year = {2021},\r\n  publisher = {GitHub},\r\n  journal = {GitHub 仓库},\r\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL}},\r\n}\r\n```\r\n\r\n```\r\n@article{liu2021elegantrl,\r\n  title={ElegantRL-Podracer: 可扩展且弹性的云原生深度强化学习库},\r\n  author={Liu, Xiao-Yang and Li, Zechu and Yang, Zhuoran and Zheng, Jiahao and Wang, Zhaoran and Walid, Anwar and Guo, Jian and Jordan, Michael I},\r\n  journal={NeurIPS 深度强化学习研讨会},\r\n  year={2021}\r\n}\r\n```","# ElegantRL 快速上手指南\n\nElegantRL（小雅）是一个轻量级、结构清晰的深度强化学习框架，专为大规模并行仿真和云原生架构设计。它支持多种主流 DRL 算法（如 PPO, SAC, DDPG, DQN 等），在单卡或多卡环境下均表现出高效与稳定的特性。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐), macOS, Windows\n- **Python 版本**: 3.6 或更高\n- **GPU**: 可选（用于加速训练，支持 CUDA）\n\n### 前置依赖\n核心依赖仅需 Python 和 PyTorch。其他库可根据具体任务按需安装。\n\n| 依赖项 | 版本要求 | 说明 |\n| :--- | :--- | :--- |\n| **Python** | 3.6+ | 必需 |\n| **PyTorch** | 1.6+ | 必需 |\n| **NumPy** | 1.18+ | 通常随 PyTorch 自动安装 |\n| **gym** | 0.17.0 | 推荐（避免 0.18+ 的渲染 bug） |\n| **pybullet** | 2.7+ | 免费物理引擎，替代 MuJoCo |\n| **Box2D** | - | 需安装 `Box2D` 包 |\n| **matplotlib** | 3.2+ | 用于绘图 |\n\n> **注意**：若使用 `gym`，建议指定版本 `0.17.0` 并搭配 `pyglet==1.5` 以避免渲染错误。\n\n## 2. 安装步骤\n\n### 基础安装\n通过 pip 直接安装核心库：\n\n```bash\npip3 install elegantrl\n```\n\n### 完整环境安装（推荐）\n若需运行官方示例及基准测试，建议安装完整依赖：\n\n```bash\n# 安装核心依赖及常用环境库\npip3 install gym==0.17.0 pybullet Box2D matplotlib\n\n# 或者直接使用项目提供的 requirements 文件\ngit clone https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL.git\ncd ElegantRL\npip install -r requirements.txt\n```\n\n### 特殊环境安装（可选）\n如需使用 StarCraft II 环境：\n```bash\nbash .\u002Felegantrl\u002Fenvs\u002Finstallsc2.sh\npip install -r sc2_requirements.txt\n```\n\n> **国内加速提示**：若下载缓慢，可使用清华或阿里镜像源加速安装：\n> ```bash\n> pip3 install elegantrl -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 3. 基本使用\n\nElegantRL 提供了极简的 `helloworld` 教程，帮助初学者快速理解“代理 (Agent) + 网络 (Net) + 环境 (Env) + 训练循环 (Run)\"的核心架构。\n\n### 方式一：运行官方 Hello World 示例\n克隆仓库后，进入 `helloworld` 目录依次体验 DQN -> DDPG -> PPO 算法：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL.git\ncd ElegantRL\u002Felegantrl_helloworld\n\n# 运行示例 (以 DQN 为例，具体文件名请参考目录内容)\npython run.py\n```\n\n该目录包含四个核心文件，结构清晰：\n- `env.py`: 定义强化学习环境\n- `net.py`: 定义 Actor-Critic 网络结构\n- `agent.py`: 封装 DRL 算法逻辑\n- `run.py`: 执行训练循环\n\n### 方式二：使用 Google Colab 快速体验\n无需本地配置，直接在云端运行 Notebook 示例：\n- **Pendulum 控制**: `quickstart_Pendulum_v1.ipynb`\n- **双足行走机器人**: `tutorial_BipedalWalker_v3.ipynb`\n- **月球着陆器**: `tutorial_LunarLanderContinuous_v2.ipynb`\n\n### 代码逻辑简述\n一个典型的训练流程可以概括为：\n> 一个智能体 (`agent.py`) 包含演员 - 评论家网络 (`net.py`)，通过与环境 (`env.py`) 交互，由训练脚本 (`run.py`) 驱动完成学习。\n\n### 运行单元测试\n验证安装是否成功：\n```bash\n# 运行特定测试\npython -m unittest unit_tests\u002Ftest_training_agents.py\n\n# 运行所有测试\npython -m unittest discover\n```","某量化对冲基金团队正试图利用深度强化学习（DRL）训练一个高频交易策略，需要在云平台上模拟成千上万种市场波动场景以加速模型收敛。\n\n### 没有 ElegantRL 时\n- **训练效率低下**：传统框架难以充分利用多 GPU 集群的并行能力，导致在大规模采样时资源闲置，单次实验耗时数天。\n- **代码臃肿难调**：依赖繁重的第三方库使得核心算法逻辑被层层封装，出现收敛不稳定时，开发人员难以定位是数学原理问题还是工程实现缺陷。\n- **弹性扩展困难**：无法根据任务负载自动动态调整云端计算节点，面对突发的大规模回测需求时，往往需要人工手动配置基础设施。\n- **环境仿真瓶颈**：串行或低并发的环境交互成为速度短板，无法构建足够多的并行交易环境来捕捉复杂的市场微观结构。\n\n### 使用 ElegantRL 后\n- **算力满负荷运转**：借助其原生支持的 massively parallel 架构，轻松将任务扩展至数百个 GPU 节点，训练速度提升数十倍，实验周期缩短至小时级。\n- **核心逻辑透明**：仅需不到 1000 行的轻量级核心代码，去除了冗余依赖，让算法工程师能直接审视和优化哈密顿项等关键数学细节，显著提升稳定性。\n- **云端弹性调度**：基于云原生微服务设计，系统可自动按需分配和释放计算资源，完美适配 DGX SuperPOD 等高性能平台，大幅降低闲置成本。\n- **超高速样本采集**：通过构建海量基于 GPU 的并行交易环境，实现了极高的数据采样吞吐量，使策略能更快适应多变的市场行情。\n\nElegantRL 通过极致的轻量化设计与大规模并行能力，将原本繁琐不稳定的分布式强化学习训练转变为高效、透明且可弹性伸缩的工程实践。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FAI4Finance-Foundation_ElegantRL_63e08611.png","AI4Finance-Foundation","AI4Finance Foundation","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FAI4Finance-Foundation_2b196025.jpg","A Nonprofit Organization Dedicated to Advancing AI in the Finance Industry through Promoting Better Standardization and Open-Source Tooling.",null,"contact@ai4finance.org","AI4FinanceFound","ai4finance.org","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation",[24,28],{"name":25,"color":26,"percentage":27},"Python","#3572A5",95.3,{"name":29,"color":30,"percentage":31},"Jupyter Notebook","#DA5B0B",4.7,4312,969,"2026-04-13T00:13:00","NOASSERTION",3,"未说明","非必需，但支持大规模并行模拟（如 Isaac Gym）时需 NVIDIA GPU；文中提及可在单 GPU 上运行 4096 个子环境，未明确具体显存和 CUDA 版本要求",{"notes":40,"python":41,"dependencies":42},"核心代码轻量（少于 1000 行）。若使用 Isaac Gym 进行大规模并行仿真需单独安装。注意 Gym 版本兼容性：建议使用 gym==0.17.0 配合 pyglet==1.5 以避免渲染错误。安装 Box2D 时请使用 'pip install Box2D' 而非 'box2d-py'。支持云原生架构和弹性资源分配。","3.6+",[43,44,45,46,47,48],"torch>=1.6","numpy>=1.18","gym==0.17.0","pybullet>=2.7","box2d-py==2.3.8","matplotlib==3.2",[50,51,52,53],"插件","图像","音频","开发框架",[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71],"pytorch","reinforcement-learning","ppo","sac","td3","dqn","ddpg","stable","lightweight","efficient","model-free-rl","drl-pytorch","gae","bipedalwalkerhardcore","per","multiple-gpu","a2c",2,"ready","2026-03-27T02:49:30.150509","2026-04-18T09:19:30.551648",[77,82,87,92,97,102,107],{"id":78,"question_zh":79,"answer_zh":80,"source_url":81},39403,"在 Windows 系统上运行时遇到 'os' has no attribute 'mknod' 或 'no module named cv2' 错误怎么办？","针对 'no module named cv2'：可以直接注释掉使用 cv2 的代码（非必须），或者运行 `pip install opencv-python` 安装该图像处理库。\n针对 Windows 下的 'os' has no attribute 'mknod'：可以直接注释掉使用 `os.mknod` 的代码，或者在 Windows 系统中将 `os.mknod` 替换为 `os.mkfifo`。该代码主要用于保存训练进度，不影响核心功能。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F7",{"id":83,"question_zh":84,"answer_zh":85,"source_url":86},39404,"为什么 ElegantRL 中的 SAC 算法 Actor 网络包含 target network，而其他实现（如 Stable Baselines3）没有？ModSAC 中的 TTUR 是什么？","关于 Target Network：虽然标准 SAC 通常不使用 Actor 的 target network，但该库的实现曾包含此结构。后续修复中指出 SAC 实际上不需要 Actor 的 target network，已移除相关的 `soft_update` 操作以符合标准算法并解决收敛问题。\n关于 ModSAC 和 TTUR：TTUR (Two Time-scale Update Rule) 源自对抗生成网络（GANs），适用于双层优化问题。其核心思想是：更新 Actor 网络会增加 Critic 网络的误差，因此为了减小 Critic 误差，会选择多次更新 Critic，甚至为 Actor 网络选择更小的学习率。普通用户直接使用 ModSAC 即可，无需深入理解 TTUR 细节。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F14",{"id":88,"question_zh":89,"answer_zh":90,"source_url":91},39405,"训练时出现 AttributeError: type object 'AgentXYZ' has no attribute 'if_off_policy' 错误如何解决？","该错误通常由环境或包版本不兼容引起。解决方案包括：\n1. 降级 gym 库到兼容版本（例如 0.17.3）：`pip install gym==0.17.3`。\n2. 在本地机器重新安装 ElegantRL 的最新版本：拉取最新 commit 并重新安装。\n3. 确保所有依赖包均已正确更新以匹配当前代码库的要求。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F118",{"id":93,"question_zh":94,"answer_zh":95,"source_url":96},39406,"SAC 算法在不同版本或配置下收敛速度差异巨大甚至无法收敛，原因是什么？","这是一个已知的代码逻辑 Bug。在 `AgentSAC` 的 `get_obj_critic_raw` 函数中，错误地使用了 `self.act_target.get_action_logprob(next_s)` 来获取下一步动作。由于 SAC 算法中 Actor 不应该有 target network，正确的做法是直接使用当前策略网络：`self.act.get_action_logprob(next_s)`。同时，应在 `update_net` 函数中注释掉或删除针对 Actor 的 `soft_update` 操作 (`self.soft_update(self.act_target, self.act, ...)`)。修复后代理即可正常训练。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F115",{"id":98,"question_zh":99,"answer_zh":100,"source_url":101},39407,"使用 Multiagent RL 时，导入 AgentMAPPO 报错找不到 'ActorMAPPO' 或 'CriticMAPPO' 引用怎么办？","这通常是因为相关模块尚未完全合并到主分支或路径引用问题。维护者建议参考独立的 MADDPG 演示项目来获取可用的多智能体强化学习代码示例：https:\u002F\u002Fgithub.com\u002Fshixun404\u002FMADDPG_Demo。请检查是否使用了最新版本的库，或暂时使用该独立 Demo 进行实验。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F230",{"id":103,"question_zh":104,"answer_zh":105,"source_url":106},39408,"运行 helloworld_DQN_single_file.py 时提示 'QNet' object has no attribute 'explore_action' 错误？","该错误表明代码调用了不存在的属性 `explore_action`。这通常是由于库的版本更新导致 API 变更。在较新版本中，动作探索逻辑可能已移至 Agent 类或其他辅助函数中，不再直接作为 QNet 的属性。解决方法是检查 `helloworld` 目录下的最新示例代码，或将调用方式改为使用 Agent 提供的 `get_action` 或类似接口，确保与当前安装的 ElegantRL 版本 API 保持一致。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F365",{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},39409,"最近更新后运行代码出现多个 AttributeError（如找不到 agent_class, max_memo 等属性）是怎么回事？","这是由于代码重构导致的内部 API 名称变更或参数缺失。例如 `Arguments` 对象中可能不再直接暴露 `agent_class` 或 `max_memo` 等属性，或者函数名发生了改变（如 `get_if_off_policy` 变为 `if_off_policy`）。解决方案是确保拉取并安装了最新的代码版本，因为维护者通常会在此类报告后迅速修复重命名不一致的问题。如果问题依旧，请检查 `train\u002Fconfig.py` 和 `train\u002Frun.py` 中的调用是否与 `Arguments` 类的最新定义匹配。","https:\u002F\u002Fgithub.com\u002FAI4Finance-Foundation\u002FElegantRL\u002Fissues\u002F191",[113],{"id":114,"version":115,"summary_zh":18,"released_at":116},315348,"v0.3.6","2022-06-26T01:53:31",[118,128,136,145,154,162],{"id":119,"name":120,"github_repo":121,"description_zh":122,"stars":123,"difficulty_score":36,"last_commit_at":124,"category_tags":125,"status":73},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,"2026-04-06T06:32:30",[126,53,51,127],"Agent","数据工具",{"id":129,"name":130,"github_repo":131,"description_zh":132,"stars":133,"difficulty_score":36,"last_commit_at":134,"category_tags":135,"status":73},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[53,51,126],{"id":137,"name":138,"github_repo":139,"description_zh":140,"stars":141,"difficulty_score":72,"last_commit_at":142,"category_tags":143,"status":73},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159636,"2026-04-17T23:33:34",[53,126,144],"语言模型",{"id":146,"name":147,"github_repo":148,"description_zh":149,"stars":150,"difficulty_score":151,"last_commit_at":152,"category_tags":153,"status":73},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[126,50],{"id":155,"name":156,"github_repo":157,"description_zh":158,"stars":159,"difficulty_score":72,"last_commit_at":160,"category_tags":161,"status":73},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[53,51,126],{"id":163,"name":164,"github_repo":165,"description_zh":166,"stars":167,"difficulty_score":72,"last_commit_at":168,"category_tags":169,"status":73},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[50,126,51,53]]