Genrl เป็นห้องสมุดการเรียนรู้การเสริมแรงแบบ pytorch ที่มีศูนย์กลางอยู่ที่การใช้อัลกอริทึมที่ทำซ้ำได้ทั่วไปและปรับปรุงการเข้าถึงในการเรียนรู้การเสริมแรง
การเปิดตัวปัจจุบันของ Genrl อยู่ที่ v0.0.2 คาดว่าจะมีการเปลี่ยนแปลงการเปลี่ยนแปลง
การวิจัยการเรียนรู้การเสริมแรงกำลังเคลื่อนไหวเร็วกว่าที่เคยเป็นมา เพื่อให้ทันกับแนวโน้มที่เพิ่มขึ้นและตรวจสอบให้แน่ใจว่าการวิจัย RL ยังคงทำซ้ำได้ GenRL มีจุดมุ่งหมายเพื่อช่วยในการทำซ้ำกระดาษและการเปรียบเทียบที่เร็วขึ้นโดยการให้คุณสมบัติหลักต่อไปนี้:
ด้วยการรวมคุณสมบัติเหล่านี้เข้ากับ GenRL เรามุ่งมั่นที่จะสนับสนุน การใช้อัลกอริทึมใหม่ในที่สุดในน้อยกว่า 100 บรรทัด
หากคุณสนใจที่จะมีส่วนร่วมอย่าลังเลที่จะผ่านปัญหาและเปิด PRS สำหรับรหัสเอกสารการทดสอบ ฯลฯ ในกรณีที่มีคำถามใด ๆ โปรดตรวจสอบแนวทางการสนับสนุน
Genrl เข้ากันได้กับ Python 3.6 หรือใหม่กว่าและขึ้นอยู่กับ pytorch
และ openai-gym
วิธีที่ง่ายที่สุดในการติดตั้ง GenRL คือ PIP ซึ่งเป็นตัวติดตั้งแพ็คเกจที่ต้องการของ Python
$ pip install genrl
โปรดทราบว่า GenRL เป็นโครงการที่ใช้งานอยู่และเผยแพร่รุ่นใหม่เป็นประจำ ในการอัพเกรด GenRL เป็นเวอร์ชันล่าสุดให้ใช้ PIP ดังนี้
$ pip install -U genrl
หากคุณตั้งใจจะติดตั้งไลบรารีเวอร์ชันล่าสุดที่ยังไม่เผยแพร่ (เช่นจากแหล่งที่มา) คุณสามารถทำได้:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
เพื่อฝึกอบรมนักแสดงที่นุ่มนวลตั้งแต่เริ่มต้นในสภาพแวดล้อม Gym Pendulum-v0
และบันทึกรางวัลบน Tensorboard
import gym
from genrl . agents import SAC
from genrl . trainers import OffPolicyTrainer
from genrl . environments import VectorEnv
env = VectorEnv ( "Pendulum-v0" )
agent = SAC ( 'mlp' , env )
trainer = OffPolicyTrainer ( agent , env , log_mode = [ 'stdout' , 'tensorboard' ])
trainer . train ()
ในการฝึกอบรมโมเดล dyna-q แบบตารางตั้งแต่เริ่มต้นบนสภาพแวดล้อม Gym FrozenLake-v0
และผลตอบแทนพล็อต:
import gym
from genrl . agents import QLearning
from genrl . trainers import ClassicalTrainer
env = gym . make ( "FrozenLake-v0" )
agent = QLearning ( env )
trainer = ClassicalTrainer ( agent , env , mode = "dyna" , model = "tabular" , n_episodes = 10000 )
episode_rewards = trainer . train ()
trainer . plot ( episode_rewards )