vlambda博客
学习文章列表

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


多智能体强化学习MADRL的搭建


心之所愿,无所不成。

 

Nothing is impossible for a willing heart.


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


一、下载


进入MADRL的Github官网

https://github.com/sisl/MADR


界面如下

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


创建虚拟环境

su root
conda create -n MARL


进入创建好的虚拟环境

source activate MARL


检查python版本建议在3.8及以下,因为3.9目前不支持一些库

python

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


开始安装多智能体强化学习环境

git clone --recursive git@github.com:sisl/MADRL.git

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


当网络不好时,链接时间会超时,出现以下情况

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


解决方法:

通过windows直接通过网址页面,点击下载按钮,下载到本地

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


再上传到服务器

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


解压后,进入文件夹

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


二、安装


打开终端,从这里进入创建好的虚拟环境

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


输入命令

source activate MARL

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


运行测试

python3 runners/run_multiwalker.py rllab


出现报错

ModuleNotFoundError: No module named 'rltools.util'


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


安装对应模块

pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com rltools


发现仍然不行查看Requirements发现,MADRL还需要OpenAI Gymrllab这两大库。

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】

安装OpenAI Gym, 进入网址

https://github.com/openai/gym

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】

开始安装

git clone https://github.com/openai/gym.git


点击右侧code进行下载

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】

将其传到服务器上后,进入对应 文件夹 并进行测试

cd rllab-masterpython examples/trpo_gym_cartpole.py


出现错误

 from joblib.pool import MemmapingPool
ImportError: cannot import name 'MemmapingPool' from 'joblib.pool' (/home/lab214/anaconda3/lib/python3.8/site-packages/joblib/pool.py)

    


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


找到rllab-master/rllab/sampler/stateful_pool.py

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


找到后,将MemmapingPool替换为MemmappingPool

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


修改后继续运行,又出现错误

ModuleNotFoundError: No module named 'pyprind'


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


安装pyprind

pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com pyprind


继续运行,发现没有theano

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


安装theano

pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com theano


继续运行,发现出现错误

ImportError: cannot import name 'Num' from '_ast' (unknown location)


定位出错位置

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


定位文件位置

rllab-master/rllab/optimizers/conjugate_gradient_optimizer.py"


将“_ast”改为ast

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


继续报错

ModuleNotFoundError: No module named 'cached_property'


定位文件位置

rllab-master/rllab/envs/base.py


将“from cached_property import cached_property”改为

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】

from functools import cached_property


如下图

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


出现错误

cannot import name 'logger' from 'gym.wrappers.monitoring


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


定位文件位置 rllab/envs/gym_env.py


进行修改看到是个try语句,先不做处理,继续运行


发现出现错误

 ModuleNotFoundError: No module named 'lasagne



MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


安装lasagne

pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com lasagne


出现错误

cannot import name 'downsample' from 'theano.tensor.signal


MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


定位文件位置

home/lab214/anaconda3/lib/python3.8/site-packages/lasagne/layers/pool.py


修改语句

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】

将downsample替换为pool_2d发现仍然报错

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


更换版本

 pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com theano==0.8.2 pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com lasagne==0.1

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


安装完成后,再次运行


又开始报错

AttributeError: 'EnvSpec' object has no attribute 'tags'


创建新环境

conda create -n marlo python==3.6

进入新环境

source activate marlo

安装malmo

pip install -i https://pypi.douban.com/simple --trusted-host pypi.douban.com malmo

python -c 参数表示在命令行中调用python代码  -c 就是command的意思

使用Anaconda安装

conda create python=3.6 --name marloconda config --add channels conda-forgeconda activate marlo # or `source activate marlo` depending on your conda versionconda install -c crowdai malmopip install -U marlo

MADRL怎么搭建?CentOS下多智能体强化学习实验环境搭建【收藏干货】


稍等片刻后,便可成功安装!



对此,你有什么看法呢?如果你在操作过程中遇到了什么问题,或有什么想法和建议,在留言区留下你的足迹吧,与大家一起交流,一起进步~