安装
maddpg依赖的环境是: Python (3.5.4), OpenAI gym (0.10.5), tensorflow (1.8.0), numpy (1.14.5),
GitHub源码分为环境和算法两个部分:
环境
1.解压缩maddpg-master.zip和multiagent-particle-envs-master.zip
2.在maddpg-master文件夹外层目录运行命令pip install -e maddpg-master
3.在multiagent-particle-envs-master文件夹外层目录运行命令pip install -e multiagent-particle-envs-master
4.设置系统环境变量,把multiagent-particle-envs-master所在路径加入系统path中
出错:
1. 运行:python train.py --scenario simple时出错:ImportError: cannot import name ‘prng’ from ‘gym.spaces’。
gym版本问题,解决方案:pip install gym==0.10.5
2.错误:ModuleNotFoundError: No module named ‘tensorflow.contrib’,
解决方案pip install tensorflow==1.14.0
3.训练结束,写文件时出错
Traceback (most recent call last):
File “train.py”, line 193, in
train(arglist)
File “train.py”, line 182, in train
rew_file_name = arglist.plots_dir + arglist.exp_name + ‘_rewards.pkl’
TypeError: can only concatenate str (not “NoneType”) to str
解决方案:修改train.py第182行为rew_file_name = str(arglist.plots_dir) + str(arglist.exp_name) + '_rewards.pkl'
第185行为agrew_file_name = str(arglist.plots_dir) + str(arglist.exp_name) + '_agrewards.pkl'
4.显示图形界面,修改train.py第32行为
parser.add_argument("--display", action="store_true", default=True)
5.将环境测试指令中的 simple
改为 multiagent/scenarios 文件夹中的其他场景进行实验。
能够跑通simple场景的程序,但是代码14行换其他场景,就出错
解决方法:将程序所在根目录(D盘、E盘...)找到tmp文件夹,打开会看到policy文件夹,将policy文件夹清空,并将程序恢复默认设置(display为False,跑通后再变True)
6.训练完之后报错
FileNotFoundError: [Errno 2] No such file or directory: ‘./learning_curves/_rewards.pkl’
在跟experiments同级目录下,手动创建一个learning_curves文件夹,当然也可以注释掉这几行数据保存的代码,毕竟不影响训练的结果