补发一篇tensorflow下MADDPG环境搭建配置

2022-12-21 15:19:04 浏览数 (3)

相关文章:

【一】MADDPG-单智能体|多智能体总结(理论、算法)

【二】MADDPG多智能体算法实现(parl)【追逐游戏复现】

之前用的都是paddle,现在补一下tf的。

github上openAI已经给出了maddpg的环境配置https://github.com/openai/maddpg以及https://github.com/openai/multiagent-particle-envs,

1.环境配置

​ 首先确保gym的版本为0.10.5,tensorflow是1.x版本,我的tensorflow是1.14.0,可以运行成功。

打开终端,将路径cd到multiagent-particle-envs文件夹下(即含有setup.py文件的文件夹下)

执行

代码语言:javascript复制
pip install -e .

multiagent环境安装完成。

同样的,将路径再cd到maddpg文件夹下(即含有setup.py文件的文件夹下),执行

代码语言:javascript复制
pip install -e .

maddpg安装完成。将路径加入到path中:打开~/.bashrc,将multiagent-particle-envs下的bin的路径添加到path里面(可有可无)

2.代码的运行

  1. 训练数据 cd到/maddpg/experiments文件夹下,运行train.py文件,默认环境为simple,若想修改环境,则运行以下代码: python train.py --scenario 环境的名称 例如:
代码语言:javascript复制
python train.py --scenario simple_tag

注:

  • 如果训练完之后报错:

FileNotFoundError: Errno 2 No such file or directory: ‘./learning_curves/_rewards.pkl’

那么就在跟experiments同级目录下,手动创建一个learning_curves文件夹,当然也可以注释掉这几行数据保存的代码,毕竟不影响训练的结果

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行为

代码语言:javascript复制
rew_file_name = str(arglist.plots_dir)   str(arglist.exp_name)  '_rewards.pkl'

第185行为

代码语言:javascript复制
agrew_file_name = str(arglist.plots_dir)   str(arglist.exp_name)  '_agrewards.pkl'
  1. 显示可视化界面

训练完数据后,进行可视化,只需运行代码:python train.py --scenario 环境的名称 --display即可。例如:

代码语言:javascript复制
python train.py --scenario simple_tag --display

0 人点赞