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 的健身房和基线代码片段。我们指出这是在哪里完成的。