อังกฤษ | 简体中文(จีนตัวย่อ)
GenerativeRL ย่อมาจาก Generative Reinforcement Learning เป็นไลบรารี Python สำหรับการแก้ปัญหาการเรียนรู้แบบเสริมกำลัง (RL) โดยใช้แบบจำลองกำเนิด เช่น โมเดลการแพร่กระจายและแบบจำลองการไหล ห้องสมุดนี้มีจุดมุ่งหมายเพื่อเป็นกรอบในการรวมพลังของแบบจำลองเชิงกำเนิดเข้ากับความสามารถในการตัดสินใจของอัลกอริธึมการเรียนรู้แบบเสริมกำลัง
การจับคู่คะแนน | การจับคู่การไหล | |
---|---|---|
แบบจำลองการแพร่กระจาย | ||
รองประธานฝ่ายเชิงเส้น SDE | ||
รองประธาน SDE ทั่วไป | ||
SDE เชิงเส้น | ||
แบบจำลองการไหล | ||
การจับคู่การไหลแบบมีเงื่อนไขอิสระ | ||
การจับคู่การไหลตามเงื่อนไขการขนส่งที่เหมาะสมที่สุด |
อัลโก./รุ่น | แบบจำลองการแพร่กระจาย | แบบจำลองการไหล |
---|---|---|
IDQL | ||
คิวจีพีโอ | ||
สปส | ||
จีเอ็มพีโอ | ||
จีเอ็มพีจี |
pip install GenerativeRL
หรือหากคุณต้องการติดตั้งจากแหล่งที่มา:
git clone https://github.com/opendilab/GenerativeRL.git
cd GenerativeRL
pip install -e .
หรือคุณสามารถใช้อิมเมจนักเทียบท่า:
docker pull opendilab/grl:torch2.3.0-cuda12.1-cudnn8-runtime
docker run -it --rm --gpus all opendilab/grl:torch2.3.0-cuda12.1-cudnn8-runtime /bin/bash
นี่คือตัวอย่างวิธีฝึกโมเดลการแพร่กระจายสำหรับการเพิ่มประสิทธิภาพนโยบาย Q-guided (QGPO) ในสภาพแวดล้อม LunarLanderContinuous-v2 โดยใช้ GenerativeRL
ติดตั้งการพึ่งพาที่จำเป็น:
pip install ' gym[box2d]==0.23.1 '
(เวอร์ชันยิมอาจมีตั้งแต่ 0.23 ถึง 0.25 สำหรับสภาพแวดล้อม box2d แต่ขอแนะนำให้ใช้ 0.23.1 เพื่อให้เข้ากันได้กับ D4RL)
ดาวน์โหลดชุดข้อมูลจากที่นี่และบันทึกเป็น data.npz
ในไดเร็กทอรีปัจจุบัน
GeneativeRL ใช้ 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
เรามีบทช่วยสอนหลายกรณีเพื่อช่วยให้คุณเข้าใจ 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 License 2.0 ดูใบอนุญาตสำหรับรายละเอียดเพิ่มเติม