gym_unity学习笔记

news2024/12/29 7:48:52

最近学了一段时间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 UnityToGymWrapper

    env_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.coloradmin.cn/o/1034716.html

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

相关文章

大数据学习技术栈及书籍推荐

作为一名开发人员,特别是后端开发人员,随着网络数据量的持续增长,拥有强大的大数据处理能力已经成为每个公司或产品(尤其是2C业务)的必备条件。以下是我在网络上搜集和自身研究的基础上,为您推荐的技术栈和…

【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习

【测试开发】用例篇(2) 文章目录 【测试开发】用例篇(2)1. 正交表法1.1 什么是正交表1.2 两个重要概念1.3 如何通过正交表设计测试用例1.3.1 充分理解需求1.3.2 确定因素、确定水平1.3.3 allpairs画正交表1.3.4 补充正交表1.3.5 将…

2024年浙江工业大学MPA项目适不适合报考?几点建议

浙江工业大学公共管理硕士(MPA)项目的学习是在浙工大小和山校区,近两年的发展速度相对比较快,目前每年都可以招到100的生源,而报考的考生也越来越多。究竟这个项目的综合竞争力怎么样,适不适合报考&#xf…

1791_树莓派bash入门杂志_Essentials_Bash_v1

全部学习汇总: GreyZhang/little_bits_of_raspberry_pi: my hacking trip about raspberry pi. (github.com) 拿到一份树莓派早期的宣传电子杂志资料,看了一下感觉还是有一些帮助。针对里面多少有一些共鸣的地方,做一个简单的整理。 1. 命令行…

原来,C语言操作Mysql这么简单

迷途小书童 读完需要 10分钟 速读仅需 4 分钟 1 简介 MySQL 是一种流行的关系型数据库管理系统,而 C 语言是一种强大的编程语言,可以与 MySQL 进行交互。本篇博文将介绍如何使用 C 语言来连接、查询和操作 MySQL 数据库。我们将涵盖原理实现、安装步骤、…

windows/ubuntu怎么修改hosts文件

windows系统修改方法: 第一步:用管理员权限打开记事本,或者visual studio。 第二步:用记事本或者vs打开地址C:\Windows\System32\drivers\etc\hosts文件,这个时候就可以直接修改了 Ubuntu22 LTS系统修改方法&#xf…

c++STL案列一评委打分

案例描述 有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分 实现步骤 1.创建五名选手,放到vector中 2.遍历vector容器,取出来每一个选手,执行for循环…

【自然语言处理】【大模型】MPT模型结构源码解析(单机版)

相关博客 【自然语言处理】【大模型】MPT模型结构源码解析(单机版) 【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版) 【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版) 【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码 【…

【云原生】Kubernetes学习笔记

部署 在部署前强调几点 不要使用IPv6, 很多组件都不支持IPv6不要使用最新版本, 最新版本非常不稳定, 甚至可能存在无法运行的bug不要版本更新, 安装后就将版本固定下来, 新的版本可能会引入新功能, 或移除旧功能, 导致Kubernetes无法运行 Kubeadm介绍 K8s是由多个模块构成的…

卸载Visual Studio 2010学习版 —— 卸载VCExpress

目录 最初安装Visual Studio 2010学习版是因为计算机二级 C语言考试而装,现如今考完试后便可卸载掉了,安装简便而卸载却没有uninstall.exe文件。故本文提供卸载方式。 进入到程序目录,找到setup.exe文件,也可以在程序目录搜索set…

Spring Security :一【权限管理概述、Spring Security 认证与授权】

文章目录 Spring Security一、权限管理概述1.1.什么是认证1.2 什么是授权1.3 授权的数据模型RBAC1.3.1 基于角色的访问控制1.3.2 基于资源的访问控制 1.4 权限管理框架1.4.1 Apache Shiro1.4.2 Spring Security1.4.3 Shiro 和 Spring Security 比较 二、Spring Security 认证与…

Simple Factory 简单工厂模式简介与 C# 示例【创建型3.1】【设计模式来了_3.1】

〇、简介 1、什么是简单工厂模式? 一句话解释: 客户类和工厂类严格分工,客户类只需知道怎么用,处理逻辑交给工厂类。 简单工厂模式(Simple Factory Pattern)是日常开发中常用的设计模式。其是一种简单的创…

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

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

postgresql-存储过程

postgresql-存储过程 简述PL/pgSQL 代码块结构示例嵌套子块 声明与赋值控制结构IF 语句CASE 语句简单case语句搜索 CASE 语句 循环语句continuewhilefor语句遍历查询结果 foreach 游标游标传参 错误处理报告错误和信息检查断言 捕获异常自定义函数重载VARIADIC 存储过程示例事务…

Opencv-python去图标与水印方案实践

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色&#xff…

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

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

最新研究综述——探索基础模型中的“幻觉”现象

深度学习自然语言处理 原创作者:Winnie “幻觉”问题即模型生成的内容可能包含虚构的信息。它不仅在大语言模型(LLMs)中存在,也存在于图像、视频和音频等其他一系列基础模型中。 针对这一问题,一篇最近的综述论文对目前所有基础模型的“幻觉”…

树、二叉树、堆及其应用(堆排序、top-k问题)

目录 树的概念与结构 概念: 与树相关的概念: 树的表示: 二叉树 概念: 特殊的二叉树: 二叉树性质: 二叉树的存储结构: 堆 堆的概念: 堆的实现: 堆的创建: 堆的插入: 堆的删…

linux、windows的pip一键永久换源[清华源、中科大、豆瓣、阿里云]

前言 本文概述:linux、windows操作系统一键将pip下载源永久设置为国内下载源,避免了使用临时源需要到处找镜像地址的麻烦。 作者介绍:作者本人是一名人工智能炼丹师,目前在实验室主要研究的方向为生成式模型,对其它方向…