GenerativeRL_Preview
1.0.0
英语| 简体中文(简化中文)
Generativerl是生成增强学习的缩写,是使用生成模型(例如扩散模型和流量模型)来解决增强学习(RL)问题的Python库。该图书馆旨在提供一个将生成模型的力量与强化学习算法的决策能力相结合的框架。
Generativerl_preview是Generativerl的预览版,它仍在快速开发中,具有许多实验功能。对于稳定版本的Generativerl ,请访问Generativerl。

| 连续变量的模型 | 得分匹配 | 流匹配 |
|---|---|---|
| 扩散模型 | ||
| 线性VP SDE | ✔ | ✔ |
| 广义VP SDE | ✔ | ✔ |
| 线性SDE | ✔ | ✔ |
| 流模型 | ||
| 独立的条件流匹配 | ✔ | |
| 最佳运输条件流程匹配 | ✔ |
| 离散变量的模型 | 离散流匹配 |
|---|---|
| U耦合/线性路径 | ✔ |
| 算法/模型 | 扩散模型 | 流模型 |
|---|---|---|
| IDQL | ✔ | |
| QGPO | ✔ | |
| srpo | ✔ | |
| GMPO | ✔ | ✔ |
| GMPG | ✔ | ✔ |
请从来源安装:
git clone https://github.com/zjowowen/GenerativeRL_Preview.git
cd GenerativeRL_Preview
pip install -e .或者您可以使用Docker映像:
docker pull zjowowen/grl:torch2.3.0-cuda12.1-cudnn8-runtime
docker run -it --rm --gpus all zjowowen/grl:torch2.3.0-cuda12.1-cudnn8-runtime /bin/bash这是如何使用Generativerl训练在Lunarlanderconcontinuum-V2环境中训练Q引导策略优化(QGPO)的扩散模型的示例。
安装所需的依赖项:
pip install ' gym[box2d]==0.23.1 '从此处下载数据集并将其保存为当前目录中的data.npz 。
Generativerl使用wandb进行记录。使用该帐户时,它会要求您登录到您的帐户。您可以通过运行来禁用它:
wandb offline import gym
from grl . algorithms . qgpo import QGPOAlgorithm
from grl . datasets import QGPOCustomizedTensorDictDataset
from grl . utils . log import log
from grl_pipelines . diffusion_model . configurations . lunarlander_continuous_qgpo import config
def qgpo_pipeline ( config ):
qgpo = QGPOAlgorithm ( config , dataset = QGPOCustomizedTensorDictDataset ( numpy_data_path = "./data.npz" , action_augment_num = config . train . parameter . action_augment_num ))
qgpo . train ()
agent = qgpo . deploy ()
env = gym . make ( config . deploy . env . env_id )
observation = env . reset ()
for _ in range ( config . deploy . num_deploy_steps ):
env . render ()
observation , reward , done , _ = env . step ( agent . act ( observation ))
if __name__ == '__main__' :
log . info ( "config: n {}" . format ( config ))
qgpo_pipeline ( config )有关更详细的示例和文档,请参阅Generativerl文档。
可以在Generativerl文档(正在进行的)上找到Generativerl Preview版本的完整文档。
我们提供几个案例教程,以帮助您更好地了解Generativerl。在教程中查看更多。
我们提供一些基线实验来评估生成增强学习算法的性能。在基准测试中查看更多。
我们欢迎对Generativerl的贡献!如果您有兴趣贡献,请参阅《贡献指南》。
@misc{generative_rl,
title={GenerativeRL: A Python Library for Solving Reinforcement Learning Problems Using Generative Models},
author={Zhang, Jinouwen and Xue, Rongkun and Niu, Yazhe and Chen, Yun and Chen, Xinyan and Wang, Ruiheng and Liu, Yu},
publisher={GitHub},
howpublished={ url {https://github.com/opendilab/GenerativeRL}},
year={2024},
}Generativerl由Apache许可证2.0获得许可。有关更多详细信息,请参见许可证。