Bahasa Inggris | 简体中文 (Cina yang disederhanakan)
Generativerl , kependekan dari pembelajaran penguatan generatif, adalah perpustakaan Python untuk menyelesaikan masalah pembelajaran penguatan (RL) menggunakan model generatif, seperti model difusi dan model aliran. Perpustakaan ini bertujuan untuk menyediakan kerangka kerja untuk menggabungkan kekuatan model generatif dengan kemampuan pengambilan keputusan dari algoritma pembelajaran penguatan.
Generativerl_preview adalah versi pratinjau Generativerl , yang masih di bawah perkembangan cepat dengan banyak fitur eksperimental. Untuk versi Generativerl yang stabil, silakan kunjungi Generativerl.

| Model untuk variabel kontinu | Pencocokan skor | Pencocokan aliran |
|---|---|---|
| Model Difusi | ||
| Linear VP SDE | ✔ | ✔ |
| Generalized VP SDE | ✔ | ✔ |
| SDE linier | ✔ | ✔ |
| Model aliran | ||
| Pencocokan aliran bersyarat independen | ✔ | |
| Pencocokan aliran kondisional transportasi optimal | ✔ |
| Model untuk variabel diskrit | Pencocokan aliran diskrit |
|---|---|
| Jalur U-Coupling/Linear | ✔ |
| Algo./models | Model Difusi | Model aliran |
|---|---|---|
| Idql | ✔ | |
| Qgpo | ✔ | |
| SRPO | ✔ | |
| GMPO | ✔ | ✔ |
| GMPG | ✔ | ✔ |
Harap instal dari sumber:
git clone https://github.com/zjowowen/GenerativeRL_Preview.git
cd GenerativeRL_Preview
pip install -e .Atau Anda dapat menggunakan gambar 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/bashBerikut adalah contoh cara melatih model difusi untuk optimasi kebijakan yang dipandu Q (QGPO) di lingkungan LunarlanderContinuous-V2 menggunakan generativerl.
Instal dependensi yang diperlukan:
pip install ' gym[box2d]==0.23.1 ' Unduh dataset dari sini dan simpan sebagai data.npz di direktori saat ini.
Generativerl menggunakan wandb untuk pencatatan. Ini akan meminta Anda untuk masuk ke akun Anda saat Anda menggunakannya. Anda dapat menonaktifkannya dengan menjalankan:
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 )Untuk contoh dan dokumentasi yang lebih rinci, silakan merujuk ke dokumentasi Generativerl.
Dokumentasi lengkap untuk versi pratinjau Generativerl dapat ditemukan di Dokumentasi Generativerl (sedang berlangsung).
Kami menyediakan beberapa tutorial kasus untuk membantu Anda lebih memahami generativerl. Lihat lebih banyak di tutorial.
Kami menawarkan beberapa percobaan dasar untuk mengevaluasi kinerja algoritma pembelajaran penguatan generatif. Lihat lebih banyak di Benchmark.
Kami menyambut kontribusi untuk Generativerl! Jika Anda tertarik untuk berkontribusi, silakan merujuk ke Panduan Kontribusi.
@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 dilisensikan di bawah Lisensi Apache 2.0. Lihat lisensi untuk detail lebih lanjut.