open_ai-maddpg_Multiagent-particle-envs环境搭建过程

news2024/9/28 13:07:02

一.利用Anaconda安装python3.6环境

1.安装

下载源:

利用Anaconda安装python3.6环境_anaconda python3.6-CSDN博客

安装过程:
windows下载安装anaconda3.6图文教程 - 简书 (jianshu.com)

Python3.6版本+anaconda+PyCharm环境配置,全网最详细_anacondapython3.6-CSDN博客

Anaconda介绍、安装及使用教程 - 知乎 (zhihu.com)

2.新建项目,新建 Conda 环境

在这里插入图片描述

3.conda环境创建失败

网络错误CondaHTTPError: HTTP 000 CONNECTION FAILED for url :

参考链接

解决Anaconda创建环境时出现:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs-CSDN博客

https://www.cnblogs.com/tianlang25/p/12433025.html

(1)打开Anaconda prompt,执行“conda config --remove-key channels”命令,恢复Anaconda的源为默认。
(2)恢复Anaconda镜像为清华的。在Anaconda prompt上执行以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

注意:这里建议不要用https,改为http

(3)将 .condarc (D盘/用户/用户名)文件中的“- defaults”删除;https,改为http

在这里插入图片描述

一定要关闭VPN再创建环境,否则会出现问题,因为要从清华库下载环境配置

二.程序搭建

1.依次安装gym、tensorfolw…

pip install gym==0.10.5
pip install tensorflow==1.14.0
pip install pyglet==1.5.9

(1)问题1:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)': /simple/gym/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)': /simple/gym/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)': /simple/gym/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)': /simple/gym/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)': /simple/gym/
Could not fetch URL https://pypi.org/simple/gym/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/gym/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)) - skipping
ERROR: Could not find a version that satisfies the requirement gym==0.10.5 (from versions: none)
ERROR: No matching distribution found for gym==0.10.5
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:833)'),)) - skipping

运行这个的时候要把梯子彻底退出,否则连接不上,报错:pip install Could not fetch URL

(1)问题2:

在这里插入图片描述

安装tensorflow时,遇到这样的问题: Attempting uninstall: wrapt
Found existing installation: wrapt 1.10.11
ERROR: Cannot uninstall ‘wrapt’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

解决办法:

pip install -U --ignore-installed wrapt enum34 simplejson netaddr

然后再运行

pip install tensorflow==1.14.0

2.安装openAI的Multiagent-particle-envs

(1)下载Multiagent-particle-envs

下载网址:openai/multiagent-particle-envsgithub.com

git clone https://github.com/openai/multiagent-particle-envs

问题:

Cloning into ‘multiagent-particle-envs’…
fatal: unable to access ‘https://github.com/openai/multiagent-particle-envs/’: Failed to connect to github.com port 443 after 21067 ms: Couldn’t connect to server

解决:需要挂梯子,多是两次就好了

在这里插入图片描述

(2)先cd到 multiagent-particle-envs-master 中,
再执行

pip install -e .

在这里插入图片描述

3.安装openAI的maddgp

下载Maddpg开源项目文件

下载网址:openai/multiagent-particle-envsgithub.com

进入“\maddpg-master”目录;安装

pip install -e .

在这里插入图片描述

测试

安装完成后,输入如下代码进行测试

cd experiments
python train.py --scenario simple

出现如下画面说明开始训练:
在这里插入图片描述

原文件中,未打开可视化效果,如果想要看到画面,可以更改“train”中的第32行,将其中的

“ default=False”改为“default=True”,如图所示

在这里插入图片描述

运行后,出现如下画面

在这里插入图片描述

即“python train.py --scenario +环境名”,其中环境名根据实际应用需求进行修改。

由于渲染过程,采用可视化过程,训练速度会大大降低,同时由于环境较之前更为复杂,所以在“parser.add_argument(“–display”, action=“store_true”, default=True)”时,运行之初,可能看不到画面,可维持默认设置为“Flase”。

也可以在训练完数据后,进行可视化,运行如下代码:

python train.py --scenario simple_tag --display

4.遇到的问题

(1)文件记录有问题的话会出现以下报错:

在这里插入图片描述

进行以下更改

在这里插入图片描述

195行 改为: 196行

200行 改为: 201行

(2)文件记录路径若出现以下问题:

在这里插入图片描述

在目录experiments里,手动创建一个learning_curves文件夹

在这里插入图片描述

(3)【报错】已安装numpy,pycharm仍然报错ModuleNotFoundError: No module named ‘numpy‘

解决:

项目解释器

在这里插入图片描述

点“+”

在这里插入图片描述

添加缺少的库。

(4)import报错

ModuleNotFoundError: No module named ‘maddpg.common’

程序找不到模块,添加路径没有用,直接将.\maddpg-master\maddpg文件复制到使用的python编译器下面的库目录D:\Anaconda3\envs\pythonProject10\Lib\site-packages中。问题解决。

(5)报错 ModuleNotFoundError: No module named ‘gym’

实际情况是已经安装了:pip install gym==0.10.5,但是还是报错,鼠标放在gym(from gym.envs.registration import register)上,点击安装gym,等待安装完成即可

image-20240717095347157

(6)报错ImportError: cannot import name ‘prng’

对代码进行修改。因为新版本的gym已经没有prng功能了

将下面的

import gym
from gym.spaces import prng             # prng 功能已被取消

更改为:(改D:\Anaconda3\envs\pythonProject10\Lib\site-packages里面的)

# from gym.spaces import prng  # 注释掉

# random_array = prng.np_random.rand(self.num_discrete_space)  # replace this with following one
random_array = np.random.RandomState().rand(self.num_discrete_space)

(7)报错maddpg TypeError: softmax() got an unexpected keyword argument ‘axis’

将D:\Anaconda3\envs\pythonProject10\Lib\site-packages\maddpg\common\tf_util.py中的

tf.nn.softmax(x,axis=axis)

改为

tf.nn.softmax(x,dim=axis)

可以避免冲突,从而运行程序。

(8)显示的时候报错ImportError: cannot import name ‘reraise’

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进行如下添加更改

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四.参考链接

1.参考

https://blog.csdn.net/wzc_123456/article/details/121655808(MADDPG——环境搭建(多智能体强化学习))

论文讲解(基于Multi-Agent的无人机集群体系自主作战系统设计)

https://blog.csdn.net/longtengzhangjie/article/details/138111316

2.问题总结参考链接:

https://blog.csdn.net/Fearless_Sun/article/details/132717061

3.Multiagent-particle-envs环境的介绍可以阅读:

https://blog.csdn.net/weixin_43483381/article/details/114240352

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OpenAI 多智能体强化学习环境(multiagent-particle-envs)详解 - gingkg - 博客园 (cnblogs.com)

4.对于Multiagent-particle-envs的代码解析可以阅读:

https://zhuanlan.zhihu.com/p/555515701

(多智能体环境MPE(multiagent particle environment)介绍与代码分析)

代码分析Xmind流程图

5.论文学习

https://aistudio.baidu.com/projectdetail/637951(从代码到论文理解并复现MADDPG算法(PARL))

https://jianengli.github.io/2021/03/19/rl/maddpg/(maddpg原理以及代码解读)

https://hrl.boyuai.com/chapter/3/%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/(动手学强化学习)

Hands-on-RL/rl_utils.py at main · boyu-ai/Hands-on-RL · GitHub(动手学强化学习)的代码

https://nqtr.cn/news/show-4688807.html?action=onClick(环境改动笔记)

https://github.com/shariqiqbal2810(pytorch maddpg代码)

https://m.fx361.com/news/2023/0519/22338372.html (项目场景描述)

https://oss.wanfangdata.com.cn/www/%E5%9F%BA%E4%BA%8E%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0%E7%9A%84%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%8D%8F%E5%90%8C%E8%B7%AF%E5%BE%84%E8%A7%84%E5%88%92%E4%B8%8E%E7%BC%96%E9%98%9F%E5%8C%85%E5%9B%B4.ashx?isread=true&type=degree&resourceId=D02625563&transaction=%7B%22id%22%3Anull%2C%22transferOutAccountsStatus%22%3Anull%2C%22transaction%22%3A%7B%22id%22%3A%221816437661934661632%22%2C%22status%22%3A1%2C%22createDateTime%22%3Anull%2C%22payDateTime%22%3A1721907461042%2C%22authToken%22%3A%22TGT-377980-ZchyqbNrNylZGhFOdog5FepA4whyXHVZV3x6NN0bFSTeyOfLzN-auth-iploginservice-6bf5fd78c6-2b9nh%22%2C%22user%22%3A%7B%22accountType%22%3A%22Group%22%2C%22key%22%3A%22hebgcdx%22%7D%2C%22transferIn%22%3A%7B%22accountType%22%3A%22Income%22%2C%22key%22%3A%22ThesisFulltext%22%7D%2C%22transferOut%22%3A%7B%22GTimeLimit.hebgcdx%22%3A30.0%7D%2C%22turnover%22%3A30.0%2C%22orderTurnover%22%3A30.0%2C%22productDetail%22%3A%22degree_D02625563%22%2C%22productTitle%22%3Anull%2C%22userIP%22%3A%22222.27.246.1%22%2C%22organName%22%3Anull%2C%22memo%22%3Anull%2C%22orderUser%22%3A%22hebgcdx%22%2C%22orderChannel%22%3A%22pc%22%2C%22payTag%22%3A%22%22%2C%22webTransactionRequest%22%3Anull%2C%22signature%22%3A%22Gog3p8LhNU%2BNlHakx0s06%2Fl%2Bap9zdMtOzg6VAANrSecyR0vtUlHYUpQs1BJIBT6rxh7PuyDcmuh8%5CnA8oKR0%2FaSpwOu1UkxNiu%2FnptDnH4fERrt92HcUVPgbvmXyJVrGVH9bBRbWPGX%2Bw1Cr0FwrLG2Jo%2B%5CnjderTHn8wIAI5eJl%2FN0%3D%22%7D%2C%22isCache%22%3Afalse%7D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1980540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vulnhub入门篇-Kioptrix2014

1.环境配置 下载地址:https://download.vulnhub.com/kioptrix/kiop2014.tar.bz2 攻击机kali:192.168.26.128(Nat模式) 靶机配置:Nat模式 这里注意,根据官网地址说明,需要我们先将网络适配器…

【机器学习】人工神经网络优化方法及正则化技术

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 人工神经网络优化方法及正则化技术1. 引言2. 神经网络优化的基础2.1 损失函数2.…

vlunstack-2(复现红日安全-ATT CK实战)

环境搭建 配置信息 DC IP:10.10.10.10 OS:Windows 2012(64) 应用:AD域 WEB IP1:10.10.10.80 IP2:192.168.47.131 OS:Windows 2008(64) 应用:Weblogic 10.3.6MSSQL 2008 PC IP1:10.10…

Scrapy入门篇

免责声明 本文的爬虫知识仅用于合法和合理的数据收集,使用者需遵守相关法律法规及目标网站的爬取规则,尊重数据隐私,合理设置访问频率,不得用于非法目的或侵犯他人权益。因使用网络爬虫产生的任何法律纠纷或损失,由使用…

论文解读:LSM Tree 的魔力,提升写入吞吐量的高效数据存储结构

LSM Tree是一种用于高写入吞吐量的数据库存储引擎,广泛应用于现代分布式数据库系统。其核心思想是将写入操作缓存在内存中,并定期批量写入磁盘,减少磁盘 I/O 操作,提高写入性能。因其高效的写入性能和适应大规模数据的能力&#x…

医院客户满意度调查如何开展

深圳满意度咨询有限公司(SSC)(患者第三方满意度测评)服务于国内多家医院,辅助医院提高患者满意度、改善医德医风、提高服务水平,调查项目覆盖了国内150余个城市,通过电话调查、网络问卷、现场访…

图片搜索网站,有大量高清图片,避免版权纠纷

一、简介 1、一个图片搜索网站,所有图片均遵循CC0协议,用户可以免费用于商业用途而无需标注来源。网站上有大量高清图片,基本可以满足用户的各种需求,同时避免了法律风险。提供强大的筛选功能,用户可以按图片方向、尺寸…

python学习之路 - python的函数

目录 一、python函数1、函数介绍2、函数的定义3、函数的参数4、函数的返回值5、函数说明文档6、函数的嵌套调用7、变量的作用域8、综合案例9、函数与方法的区别 二、python函数进阶1、函数多返回值2、函数多种传参方式a、位置参数b、关键字参数c、缺省参数d、不定长参数 3、匿名…

Visual Studio 调试时加载符号慢

什么是调试符号 编译程序时生成的一组特殊字符,并包含有关变量和函数在生成的二进制文件中的位置以及其他服务信息的信息。 该数据集可用于逐步调试程序或检查第三方代码。 调试符号可以添加到可执行文件或库中,但是大多数现代编译器将它们存储为单独的…

fabricjs 实现图像的二值化功能

一、效果图 二、图像二值化的作用 二值化是图像处理中常用的一种方法,其作用是将灰度图像转换为二值图像,即将图像中的像素点根据其灰度值分成两类:黑色和白色。这种处理方法可以帮助我们更清晰地识别图像中的目标,简化图像的复杂…

Lumerical 光纤模式仿真

Lumerical 光纤模式仿真 引言正文步骤 1------创建光纤的纤芯设置名称,位置及尺寸参数设置材料参数旋转结构使其朝向 x 方向放置步骤2------创建包层结构设置名称,位置及尺寸参数设置材料参数旋转结构使其朝向 x 方向放置设置透明度,是我们能够看到纤芯结构设置 FDE Solver设…

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——4Bin模型转化过程

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——4Bin模型转化过程 ​ 大家好,经过前几期的介绍,对于X3派上的Yolo模型部署,我们已经可以进行到最后一步了 ​ 今天给大家带来,转模型的关键步骤&#xff0…

苹芯科技发布新AI模型,引领全球轻量级AI应用革命

苹芯科技,一家在全球AI技术领域中不断创新的公司,于2月28日宣布推出其最新研发的轻量级AI模型。这款新模型旨在为开发者和企业提供更高效、更易访问的人工智能工具,尤其强调在数据敏感和计算资源受限的环境下的应用潜力。 在谷歌刚刚推出Gemm…

普元MDM主数据管理系统与微软Dynamic CRM系统(新加坡节点)集成案例

一、项目背景 某工程机械集团是中国工程机械产业奠基者、开创者和引领者,是工程机械行业具有全球竞争力、影响力的千亿级龙头企业。公司主要指标始终稳居中国工程机械行业第1位 客户需要将物料和配件等主数据和海外系统进行对接,由SAP PO在中间对接海…

【开发视角】大模型 RAG 检索增强生成究竟是什么

【大白话讲懂】大模型 RAG 检索增强生成 话先说在前面,本文不讲不会讲太多原理,仅面向工程开发,从工作流程的宏观角度进行梳理,旨在快速上手。 RAG 是什么 基本定义 让我们先来解释名词,看看宏观框架。 RAG 的意思…

Opencv调用yolov5的onnx文件时报错记录

Opencv调用yolov5的onnx文件时报错记录 报错内容: Error: Unspecified error (> Node [Powai.onnx]:(onnx_node!/model.24/Pow) parse error: OpenCV(4.6.0) F:\opencv-4.6.0\opencv-4.6.0\modules\dnn\src\onnx\onnx_importer.cpp:601: error: (-215:Assertio…

C++ vector的基本使用(待补全)

std::vector 是C标准模板库(STL)中的一个非常重要的容器类,它提供了一种动态数组的功能。能够存储相同类型的元素序列,并且可以自动管理存储空间的大小,以适应序列大小变化,处理元素集合的时候很灵活 1. vector的定义 构造函数声…

西安电子科技大学2025届毕业生生源信息

2025届本科毕业生专业分布一览表 2025届硕士毕业生专业分布一览表 2025届博士毕业生专业分布一览表 2025届本科毕业生生源地分布 左右滑动查看更多 2025届硕士毕业生生源地分布 2025届博士毕业生生源地分布

小红书笔试-选择题

HTTP/2.0默认长连接。选B ABC 一个类可以实现多个接口,一个接口可以继承一个或多个接口: 这是正确的。Java 支持多重继承的变体,即一个类可以实现多个接口,以获取多个接口中定义的方法。同时,一个接口可以通过 extends…

假如家里太大了,wifi连不上了怎么办

最近有个土豪朋友抱怨,他家里太大了,一个路由器的Wi-Fi信号根本无法覆盖他们家的每个房间,都没办法上网看奥运会比赛了。(还好我是穷人,就没有这种烦恼T_T)。 然后我问他为何不用一个路由器作主路由器&…