adeptRL
1.0.0
adept 是一個強化學習框架,旨在透過抽像出與深度強化學習相關的工程挑戰來加速研究。熟練者提供:
此代碼是搶先體驗版,預計會有一些粗糙的地方。介面可能會發生變化。我們很樂意接受回饋和貢獻。
git clone https://github.com/heronsystems/adeptRL
cd adeptRL
pip install -e .[all]
來自碼頭工人:
訓練代理日誌預設位於/tmp/adept_logs/
。日誌目錄包含tensorboard檔案、已儲存的模型和其他元資料。
# Local Mode (A2C)
# We recommend 4GB+ GPU memory, 8GB+ RAM, 4+ Cores
python -m adept.app local --env BeamRiderNoFrameskip-v4
# Distributed Mode (A2C, requires NCCL)
# We recommend 2+ GPUs, 8GB+ GPU memory, 32GB+ RAM, 4+ Cores
python -m adept.app distrib --env BeamRiderNoFrameskip-v4
# IMPALA (requires ray, resource intensive)
# We recommend 2+ GPUs, 8GB+ GPU memory, 32GB+ RAM, 4+ Cores
python -m adept.app actorlearner --env BeamRiderNoFrameskip-v4
# To see a full list of options:
python -m adept.app -h
python -m adept.app help < command >
使用您自己的代理程式、環境、網路或子模組
"""
my_script.py
Train an agent on a single GPU.
"""
from adept . scripts . local import parse_args , main
from adept . network import NetworkModule , SubModule1D
from adept . agent import AgentModule
from adept . env import EnvModule
class MyAgent ( AgentModule ):
pass # Implement
class MyEnv ( EnvModule ):
pass # Implement
class MyNet ( NetworkModule ):
pass # Implement
class MySubModule1D ( SubModule1D ):
pass # Implement
if __name__ == '__main__' :
import adept
adept . register_agent ( MyAgent )
adept . register_env ( MyEnv )
adept . register_network ( MyNet )
adept . register_submodule ( MySubModule1D )
main ( parse_args ())
python my_script.py --agent MyAgent --env env-id-1 --custom-network MyNet
本地(單節點、單GPU)
分佈式(多節點、多GPU)
重要性加權參與者學習器架構,IMPALA(單節點,多 GPU)
python -m adept.app local --logdir ~/local64_benchmark --eval -y --nb-step 50e6 --env <env-id>
重現我們借用了 OpenAI 的健身房和基線程式碼片段。我們指出這是在哪裡完成的。