相关文章:

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

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

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

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

1.环境配置

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

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

    执行

    pip install -e .

    multiagent环境安装完成。

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

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

2.代码的运行

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

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

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'
  1. 显示可视化界面

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

python train.py --scenario simple_tag --display

补发一篇tensorflow下MADDPG环境搭建配置的更多相关文章

  1. windows下的环境搭建配置redis

    http://blog.csdn.net/spring21st/article/details/11176723

  2. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  3. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  4. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  5. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  6. Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说

    版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...

  7. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  8. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  9. Redis在windows下的环境搭建

    Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...

  10. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

随机推荐

  1. Flutter如何有效地退出程序

    今天博主来谈一个开发Flutter App的小技巧--怎样有效地退出程序. 这种方法典型的应用场景就是用户许可协议的同意与否.从用户的角度讲,虽然大部分人都会无脑点击"同意",但我 ...

  2. SuperSocket 简单示例

    这是一个SuperSocket 简单示例,包括服务端和客户端. 一.首先使用NuGet安装SuperSocket和SuperSocket.Engine 二.实现IRequestInfo(数据包): 数 ...

  3. 题解 [HDU 6745] Dec (简单DP)

    来源:2020 年百度之星·程序设计大赛 - 初赛一 错误想法带来错的代码, 为什么一个简单DP题能被我想成复杂的贪心啊?? 初始有 \(a,b\) 两个正整数,每次可以从中选一个大于 1 的数减 1 ...

  4. 前端科普系列(5):ESLint - 守住优雅的护城河

    作者:Morrain [前端科普系列]帮助阅读者了解web前端,主要覆盖web前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同学对前端有一个系统的认识,能更好的与前端开发协作. ...

  5. 8 Englishi 词根

    测一测 physical obesity skinny sliny stout skeleton external appearance recede unprecededented feinge e ...

  6. [工程开发]当我们写一个tcp服务端的时候,我们在写什么?(一)

    当我们写一个tcp服务器和客户端的时候,我们在写什么?(一) 本篇只聊服务端. 最近想搞一个服务器的协议,然后捏,简单搓个tcp服务器协议看看效果,主要是最近实在是没事干,闲得没事搓个服务器看看,当然 ...

  7. P1955【绿】

    这道题是标准的"离散化+并查集"模版题,通过这道题彻底理解了并查集,同时还意识到了我之前一直用map来实现离散化的方法其实是最简单但是最慢的方法,以这道题为例,map导致时间消耗有 ...

  8. Mysql有布尔(BOOL)类型吗

    转载请注明出处: 在MySQL中,没有专门的Boolean数据类型.相反,MySQL中使用TINYINT(1)来代表布尔类型,其中1表示真(True),0表示假(False).在MySQL中,TINY ...

  9. 如何使用ps抠图(两种扣图方法)

    PS抠图的方法有很多种,以下是其中两种常用的方法: 方法一:适用于背景颜色单一.较为简单的图片. 选中魔棒工具/魔术橡皮擦,点击背景,出现选区,点击Delete键删除. 点击快速选择工具,沿着所需图形 ...

  10. makefile文件详解

    1. make 编译:将源代码文件翻译成处理器可执行的二进制文件的过程,这个过程的时间区间称为编译时 构建:指定多个编译过程的先后顺序 make命令是常用的构建工具,诞生于1977年,主要用于C/C+ ...