Genrl adalah perpustakaan pembelajaran penguatan pytorch yang berpusat di sekitar implementasi algoritma yang dapat direproduksi dan dapat digeneralisasikan dan meningkatkan aksesibilitas dalam pembelajaran penguatan
Rilis GenRL saat ini adalah di V0.0.2. Harapkan memecahkan perubahan
Penelitian pembelajaran penguatan bergerak lebih cepat dari sebelumnya. Untuk mengikuti tren yang berkembang dan memastikan bahwa penelitian RL tetap dapat direproduksi, GenRL bertujuan untuk membantu reproduksi kertas dan pembandingan yang lebih cepat dengan memberikan fitur utama berikut:
Dengan mengintegrasikan fitur -fitur ini ke dalam genrl, kami bertujuan untuk akhirnya mendukung implementasi algoritma baru dalam kurang dari 100 baris .
Jika Anda tertarik untuk berkontribusi, jangan ragu untuk menjalani masalah dan membuka PRS untuk kode, dokumen, tes dll. Dalam hal pertanyaan, silakan periksa Panduan yang Berkontribusi
Genrl kompatibel dengan Python 3.6 atau yang lebih baru dan juga tergantung pada pytorch
dan openai-gym
. Cara termudah untuk menginstal GenRL adalah dengan Pip, penginstal paket Python yang disukai.
$ pip install genrl
Perhatikan bahwa GenRL adalah proyek aktif dan secara rutin menerbitkan rilis baru. Untuk meningkatkan Genrl ke versi terbaru, gunakan PIP sebagai berikut.
$ pip install -U genrl
Jika Anda berniat menginstal versi perpustakaan terbaru yang belum dirilis (yaitu dari sumber), Anda dapat melakukan:
$ git clone https://github.com/SforAiDl/genrl.git
$ cd genrl
$ python setup.py install
Untuk melatih model aktor-kritis yang lembut dari awal di lingkungan gym Pendulum-v0
dan hadiah log di papan tensor
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 ()
Untuk melatih model Dyna-Q Tabular dari awal di lingkungan gym FrozenLake-v0
dan Plot Rewards:
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 )