分布式强化学习的入门项目,distributed-deep-q挺适合用来练手的。项目里嵌了一个稍旧的 Caffe 子模块,对 pycaffe
做了一点小改动。你只要带上 --recursive
方式去 clone,直接能跑,省了不少事。
Redis 跟 Celery 也是这个项目里比较核心的配套。Redis 是个用来存状态的小型数据库,Celery 是跑异步任务的调度器,组合起来做多线程训练效率还不错。装依赖也挺简单:
pip install -U celery[redis] redis_collections
训练流程基本靠这套结构搭起来,代码量不大,但逻辑蛮清晰。适合你对分布式 Q-learning 感兴趣,又不想从零造轮子的情况。
不过要注意一点,caffe
子模块如果没拉下来,目录是空的,记得手动补一句:
git submodule init
git submodule update
另外,推荐你看看几个相关的技术资料,像是Redis 分布式锁、CNN & Caffe 实践、还有zookeeper 分布式协调。理解这些能帮你更顺利地跑通整个训练流程。
如果你对强化学习有点基础,又想折腾分布式的训练环境,这项目还蛮适合的。部署门槛不高,逻辑也挺好理清的,调一调也能玩出不少花样。