gym_unity学习笔记

最近学了一段时间gym_unity,把一些资料留在这里

实例

  1. 实例gym_unity训练RollerBall:https://blog.csdn.net/alibutter/article/details/120908687
  2. 实例gyn_unity训练3DBall:https://zhuanlan.zhihu.com/p/554927641?utm_id=0
    源码:https://github.com/Delta-King/UnityPPO
    实现时下载release-19稳定版本:https://github.com/Unity-Technologies/ml-agents/releases/tag/release_19

官方资料

  1. ml-agents官网:https://github.com/Unity-Technologies/ml-agents/tree/develop
  2. ml-agents中文文档:https://github.com/Hustacds/ml-agents/tree/master/docs/localized/zh-CN
  3. mlagents_env对外gym接口文档:https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-Gym-API.md
  4. mlagents_env多智能体接口文档:https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-PettingZoo-API.md
  5. mlagents_env python接口文档:https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-LLAPI.md
  6. gym_unity的官方解释:https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-Gym-API-Documentation.md
  7. 多智能体接口:https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Python-PettingZoo-API.md
  8. ML-agents训练时的configutation文件说明(yaml文件):https://github.com/Unity-Technologies/ml-agents/blob/develop/docs/Training-Configuration-File.md

过程报错:

报错:\ml-agents-develop\com.unity.ml-agents\Runtime\Sensors\RayPerceptionSensor.cs(459,39): error CS0103: The name ‘QueryParameters’ does not exist in the current context
原因:ML-agents的版本过高,对Unity的版本有要求。换release-19即可
参考:https://github.com/Unity-Technologies/ml-agents/issues/5958

报错:TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure

Python parsing and will be much slower).
解决办法(把protobuf的版本从4.多降下来):pip install protobuf==3.20.*

报错:TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to
解决方案:参考:https://blog.csdn.net/weixin_45887062/article/details/126417024

报错:ImportError: cannot import name ‘cygrpc’ from ‘grpc._cython’ (D:\A\envs\pythonProject\lib\site-packa
解决:pip install grpcio==1.27.2
参考:https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1540

gym_unity模板:

from mlagents_envs.environment import UnityEnvironment
from gym_unity.envs import UnityToGymWrapperenv_directory = 'D:\\Desktop\\3DBall\\UnityEnvironment.exe'unity_env = UnityEnvironment(env_directory, base_port=5005, no_graphics=False)
env = UnityToGymWrapper(unity_env, uint8_visual=True)
执行env.step(action)和env.reset()就可以

UnityGymWrapper:

UnityGymWrapper是Unity和gym的封装接口,封装Unity环境给当作gym使用。UnityGymWrapper只适用于单智能体,UnityGymWrapper5可以用于多智能体
Multi-agent使用UnityGymWrapper5例子:
源码:https://github.com/leehe228/LogisticsEnv
论文:Multi agent reinforcement learning based UAV control for Urban Aerial Mobility logistics
UnityGymWrapper使用模板:
在这里插入图片描述
参考:https://lab.uwa4d.com/lab/624a2749a8103dabd0e58f10
在这里插入图片描述
在这里插入图片描述

疑问:

自定义的unity环境env的step和reset()在哪写???
gym_unity训练完的模型怎么保存????
.pt 文件通常是指 PyTorch 的模型文件,它是 PyTorch 框架中用于保存和加载模型权重和结构的一种格式。
参考:https://blog.csdn.net/weixin_44943389/article/details/131940271在这里插入图片描述

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

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

相关文章

大二毕设.3-网盘系统-用户模块讲解

目录 模块功能介绍 具体实现讲解 constants层:存放用户模块常量类 entity层:存放实体类,与数据库中的属性值基本保持一致 mapper层:对数据库进行数据持久化操作 service层:业务逻辑层,主要是针对具体…

基于香橙派和SU-03T 使用Linux实现语音控制刷抖音

硬件介绍 SU-03T之前在小车的时候使用过,详见:语音小车---6 最终整合_mjmmm的博客-CSDN博客 按照下图进行接线: 项目需求 通过语音指令来控制安卓手机刷抖音,可以实现视频切换和点赞等功能: 1. 开机播报“你好&a…

Go 并发可视化解释 - sync.Mute

在学习 Go 编程语言时,您可能会遇到这句著名的格言:“不要通过共享内存来进行通信;相反,通过通信来共享内存。” 这句话构成了 Go 强大并发模型的基础,其中通道(channels)作为协程之间的主要通信…

6条优势,anzo capital昂首资本相信MT5替代MT4的原因

投资者都知道MT5是在MT4基础上升级换代的多资产平台,MT5于2010年6月首次发布。anzo capital昂首资本认为MT5将完全取代MT4,就像MT4取代之前版本一样,因为有以下6条优势: 一.市场深度(DOM)数据。在MT4中,DOM几乎没有用…

什么是生成对抗网络 (GAN)?

什么是生成对抗网络 (GAN)? 钦吉兹赛义德贝利 一、说明 GAN(Generative Adversarial Network)网络是一种深度学习模型,由两个神经网络——生成器和判别器组成。生成器负责生成虚假的数据,而判别…

yarn安装依赖时报错 error An unexpected error occurred:

一切起因是因为前一天安装了volta管理node,第二天启动项目, 显示error An unexpected error occurred: “https://registry.npmmirror.com/webpack-aliyun-oss/-/webpack-aliyun-oss-0.2.6.tgz: Request failed “404 Not Found””. 项目启动时发现报错…

【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

在 SQL Server 中,可以使用内置函数 NEWID() 来生成一个随机的 GUID(全局唯一标识符)。可以将此 GUID 作为字符串拼接到查询结果中。

以下是一个示例: SELECT Column1, Column2, CAST(NEWID() AS VARCHAR(36)) as random_string FROM your_table;这将在查询结果中添加一个名为 random_string 的列,其中包含一个随机生成的 GUID。请注意,由于 GUID 是随机生成的&#xff…

MySQL学习系列(9)-每天学习10个知识

目录 1. 临时表(Temporary Tables)的优点和缺点2. 使用GROUP BY进行聚合查询3. MySQL的索引设计4. NULL和默认值的区别和用途5. 使用LIKE和REGEXP进行模式匹配6. SQL标准的三个范式7. 视图和有效性约束8. 自连接(Self Join)的场景…

【虚拟化】虚拟机vcpu绑核物理机

文章目录 一、NUMA二、虚拟机xml配置解析 参考文章 第一篇:KVM虚拟化CPU技术总结 第二篇:虚机cpu和mem的配置(cputune和numatune) 第三篇:libvirt 中cpu, numa 的配置 第四篇:如何提高虚拟机性能&#xff1…

安全学习_开发相关_JavaEE过滤器监听器简单了解

文章目录 Web应用运行流程图 JavaEE-过滤器-Filter过滤器概述&作用过滤器相关安全测试场景 JavaEE-监听器-Listener监听器作用:监听器相关安全测试场景 过滤器和监听器,主要对安全测试有影响的是过滤器,监听器只是在对代码进行逻辑分析时…

民安智库(第三方社会评估调研公司)社区健康服务中心满意度提升方案

提升社区健康服务中心的满意度需要综合考虑医疗服务、员工表现、便利性和健康教育等多个方面。以下是一些提升社区健康服务中心满意度的方案和建议: 1. 提高医疗服务质量: 培训医疗专业人员,确保他们具备最新的医疗知识和技能。确保及时提供…

2020-2023中国高等级自动驾驶产业发展趋势研究-中国高等级自动驾驶发展近况

1.2 中国高等级自动驾驶发展近况 通过对中国高等级自动驾驶行业的观察和分析,亿欧汽车认为,除技术解决方案提供商外,如今的车企、政府、资本同样在产业链中扮演重要角色。此外,车路协同技术的发展也为高等级自动驾驶的发展提供了更…

Web自动化框架中验证码识别处理全攻略,让测试更得心应手!

前言: 随着Web应用程序的不断发展,自动化测试已成为项目开发中必不可少的一环。然而,验证码的出现却经常会使自动化测试变得更具挑战性。为了解决这个问题,我们需要一种方法来自动识别和处理验证码,从而提高自动化测试…

位图的实现与应用

目录 位图 实现思路 模拟实现 类模板 构造函数 set reset test twobitset 实现 成员变量 set is_once 布隆过滤器 成员变量与模板 set test 删除 位图 位图是哈希的另一种表现,与我们常用的 set map 的思想还是基本一样的,下面我们看一…

leetcode面试题0808有重复字符串的排列组合

描述 输入一个长度为 n 字符串&#xff0c;打印出该字符串中字符的所有排列&#xff0c;你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数据范围&#xff1a;n<10 要求&#xff1a;空间复…

引领初创企业的数字化转型:选择适合的低代码平台

初创企业在初期各项架构都还不完善&#xff0c;对于应用程序的需求多样&#xff0c;但是又要考量成本。所以&#xff0c;低代码平台就是在综合考量成本和需求的情况下的一个突出的选择。下面我们就六个方面为您介绍&#xff1a;初创企业选择的Zoho Creator低代码平台。 1、功能…

机器学习笔记 - k-NN算法的数学表达

一、概述 所有的机器学习算法都是有假设前提的。k-NN算法的假设前提是相似的输入有相似的输出。其分类规则是对于测试输入x,在其k个最相似的训练输入中分配最常见的标签。 k-NN 的正式定义: 对于一个待测试数据。 将的个最近邻的集合表示为 。的正式定义为 ,并且。(意思就是…

mmdetection v3避坑

命令&#xff1a; python tools/test.py projects/DiffusionDet/configs/diffusiondet_r50_fpn_500-proposals_1-step_crop-ms-480-800-450k_coco.py /data/zhangrui/mmdetection-master/checkpoints/diffusiondet_r50_fpn_500-proposals_1-step_crop-ms-480-800-450k_coco_202…

云计算的发展趋势和挑战

本文将探讨云计算的发展趋势和挑战&#xff0c;旨在帮助读者了解云计算的最新动态和未来发展方向。 随着信息技术的发展&#xff0c;云计算作为一种新兴的计算模式&#xff0c;已经得到了广泛的应用和认可。它通过将计算资源、存储资源和应用程序等服务通过互联网提供给用户&a…