Unity 安装及运行MLAgents

news2024/12/24 0:04:31

1、下载ML-Agents

下载地址

GitHub - Unity-Technologies/ml-agents: The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.

 在develop-Tags中,选择release_18

下载zip文件,解压

2、anaconda配置pytorch环境

conda create -n 名称 python=3.9.9

注意:Python 3.9.10 以上目前与mlagents-learn 套件不相容,会出现错误TypeError: Invalid first argument to `register()`. typing.Dict[mlagents.trainers.settings.RewardSignalType, mlagents.trainers.settings.RewardSignalSettings] is not a class.

 conda activate 名称

激活环境

在环境中安装pytorch

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge

 安装完成后,执行python-->import torch-->torch.cuda.is_available()

如果为true,则安装成功

3、安装ml-agents-release_18所需要的库

在anaconda激活的环境中

(1)cd ml-agents-release_18的文件目录

定位到ml-agents-envs,在文件夹中创建文件setup.cfg清华源加快下载速度

[easy_install]

index_url = https://pypi.tuna.tsinghua.edu.cn/simple

执行命令 python setup.py install

安装库

安装出现 Finished processing dependencies for mlagents-envs==0.27.0

则为安装成功

(2)cd ..  --> cd ml-agents

也增加setup.cfg文件

执行命令 python setup.py install

出现错误:error: urllib3 2.0.4 is installed but urllib3<2.0 is required by {'google-auth'}

执行:pip uninstall urllib3

pip install -i https://pypi.douban.com/simple urllib3=1.26.9

重新安装urllib3

再次执行python setup.py install

当出现 Finished processing dependencies for mlagents==0.27.0

即为安装完成

4、在unity中 Window--> Package Manager

找到 com.unity.ml-agents,导入package.json

等待安装完成

之后可以搭建环境,并设置参数等

5、开启ml-agents,运行项目

在unity项目中,创建training-->xxx_config.yamlzheshi

behaviors:
  RB:
    trainer_type: ppo
    hyperparameters:
      batch_size: 10
      buffer_size: 100
      learning_rate: 0.0003
      beta: 0.0005
      epsilon: 0.2
      lambd: 0.99
      num_epoch: 3
      learning_rate_schedule: linear
    network_settings:
      normalize: false
      hidden_units: 128
      num_layers: 2
    reward_signals:
      extrinsic:
        gamma: 0.99
        strength: 1.0
    max_steps: 500000
    time_horizon: 64
    summary_freq: 10000

设置完成后,在anaconda中,定位到unity项目的training

cd xx/xx/unity_project/training

执行命令: mlagents-learn.exe xxx.yaml --run-id=RB

报错:ModuleNotFoundError: No module named 'six'

执行 pip install -i https://pypi.douban.com/simple six

再次执行命令

当出现以下界面

则运行成功,端口也开启成功 

此时点击unity的运行按钮,执行运行操作

结果生成在training文件夹中

当要界面化看结果时,需要执行命令

tensorbord.exe --logdir results --port 6006

预训练后的模型保存在Assets中,要使用预训练后的模型

可将模型拖到Behavior Parameters的Model上

mlagents-learn.exe xxx.yaml --run-id=RB --resume

继续上次训练的命令

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

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

相关文章

如何修复丢失的vcruntime140_1.dll文件

在编程中&#xff0c;我们经常会遇到各种问题和挑战。其中之一就是缺少必要的运行库文件&#xff0c;如vcruntime140_1.dll&#xff0c;这可能会导致我们的程序无法正常运行。本文将详细介绍6种解决此问题的方法&#xff0c;并详细讲解vcruntime140_1.dll文件的作用。 vcruntim…

企业级SpringBoot单体项目模板 —— 全局配置

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot、模版、企业级☀️每日 一言&#xff1a;你坚持下来了&#xff0c;而别人坚持不下来&#xff0c;这就是你的资本。 文章目录 一、全局异常配置1.1 全局异常处理1.2 处理业务异常类1.3…

并查集 size 的优化

我们把如下图所示的并查集&#xff0c;进行 union(4,9) 操作。 合并操作后的结构为&#xff1a; 可以发现&#xff0c;这个结构的树的层相对较高&#xff0c;若此时元素数量增多&#xff0c;这样产生的消耗就会相对较大。解决这个问题其实很简单&#xff0c;在进行具体指向操作…

【陕西理工大学-数学软件实训】数学实验报告(8)(数值微积分与方程数值求解)

目录 一、实验目的 二、实验要求 三、实验内容与结果 四、实验心得 一、实验目的 1. 掌握求数值导数和数值积分的方法。 2. 掌握代数方程数值求解的方法。 3. 掌握常微分方程数值求解的方法。 二、实验要求 1. 根据实验内容&#xff0c;编写相应的MATLAB程序&#xff0c…

Java IO 之 BIO、NIO 和 AIO

一、IO IO 是 Input 和 Output 二词的缩写&#xff0c;意为输入和输出&#xff0c;直接来说&#xff0c;实现一般的 I/O 是没有什么难度的&#xff0c;但涉及到多线程时&#xff0c;要解决 I/O 的问题就不是一个简单的事情了&#xff0c;会涉及到同步和异步的问题&#xff0c;…

SSL加速是什么,有什么优势?

SSL加速技术是一种专门用于加速HTTPS通信的技术&#xff0c;它可以在服务器和客户端之间提供高效的加密和解密处理&#xff0c;以提升网络通信的安全性和性能。以下是SSL加速技术的一些主要优势&#xff1a; 提高网站的访问速度&#xff1a;SSL加速技术可以对SSL握手过程进行优…

1143. 最长公共子序列(C++实现)

1143. 最长公共子序列https://leetcode.cn/problems/longest-common-subsequence/ int longestCommonSubsequence(string text1, string text2) {int m text1.size(), n text2.size();vector<vector<int>> dp(m 1, vector<int>(n 1));for (int i 0; i …

C++文件操作示例

C 标准库提供了 3 个类用于实现文件操作&#xff0c;它们统称为文件流类&#xff0c;这 3 个类分别为&#xff1a; ifstream&#xff1a;专用于从文件读取数据 ofstream&#xff1a;专用于向文件写入数据 fstream&#xff1a;可读可写 这三个文件流类都位于 fstrea…

NSS [HNCTF 2022 WEEK2]easy_sql

NSS [HNCTF 2022 WEEK2]easy_sql 这题考察了无列名注入&#xff0c;首先了解一下什么是无列名注入再开始做题吧。 为什么会需要无列名注入&#xff1f; 我们常用的SQL注入方法是通过information_schema这个默认数据库来实现&#xff0c;可是你有没有想过&#xff0c;如果过滤…

下载github中单独某个子文件方法

在github中下载文件有很多方法&#xff0c;比如整体打包下载&#xff0c;单独小文件下载。我分享一个怎样下载某个单独文件夹方法。 在下载这个E文件夹时候&#xff0c;复制当前的url。 然后找到一个工具网页&#xff1a;DownGit 然后就可以下载文件夹的压缩文件了。

【机器学习】TF-IDF以及TfidfVectorizer

TF-IDF定义 TF-IDF&#xff1a; 全称为"词频一逆文档频率"。   TF&#xff1a;某一给定词语在该文档中出现的频率。 T F w 词语 w 在该文档中个数 该文档内总词个数 TF_w \frac{词语w在该文档中个数}{该文档内总词个数} TFw​该文档内总词个数词语w在该文档中个…

FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地

FreeSWITCH 1.10.10 简单图形化界面9 - 鼎兴FXO网关SIP中继内网IPPBX落地 0、 界面预览1、创建一个话务台2、创建PBX SIP中继并设置呼入权限3、设置呼出规则4、设置分机呼出权限5、设置FXO 网关相关信息6、设置FXO网关端口组呼入号码7、设置FXO网关的SIP中继8、设置FXO网关呼叫…

第二章 进程与线程 十、调度算法1(先来先服务、短作业优先、最高响应比优先)

目录 一、先来先服务算法 1、算法思想 2、算法规则 3、用于作业/进程调度 4、是否可抢占? 5、优缺点 优点&#xff1a; 缺点&#xff1a; 6、是否会导致饥饿 7、例子 二、短作业优先算法 1、算法思想 2、算法规则 3、用于作业/进程调度 4、是否可抢占? 5、优缺…

Linux多线程【线程控制】

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f307;前言&#x1f3d9;️正文1、线程知识补充1.2、线程私有资源1.3、线程共享资源1.4、原生线程库 2、线程…

FreeSWITCH 1.10.10 简单图形化界面8 - 讯时FXO网关SIP注册公网IPPBX落地

FreeSWITCH 1.10.10 简单图形化界面8 - 讯时FXO网关SIP注册公网IPPBX落地 0、 界面预览1、创建一个话务台2、创建PBX 分机中继并设置呼入权限3、设置呼出规则4、设置分机呼出权限5、设置FXO 网关相关信息6、设置FXO网关中继线路呼入号码7、设置FXO网关呼叫路由&#xff08;呼入…

为啥我的第二个for循环不加框红的代码就运行失效呢?(文末赠书)

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 苟全性命于乱世&#xff0c;不求闻达于诸侯。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python最强王者群【哎呦喂 是豆子&#xff5e;】问了一…

【机组】计算机系统组成课程笔记 第二章 计算机中的信息表示

2.1 无符号数和有符号数 2.1.1 无符号数 没有符号的数&#xff0c;其实就是非负数。在计算机中用字节码表示&#xff0c;目前最常用的是八位和十六位的。 2.1.2 有符号数 将正负符号数字化&#xff0c;0代表 &#xff0c;1代表 - &#xff0c;并把代表符号的数字放在有效数…

【Linux升级之路】6_进程间通信

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux升级之路】 ✒️✒️本篇内容&#xff1a;进程间通信介绍&#xff0c;管道&#xff0c;共享内存&#xff0c;消息队列&#xff0c;信号量 &#x1f…

八股文学习一(存储)

一. 存储 行式存储的原理与特点 对于 OLAP 场景&#xff0c;大多都是对一整行记录进行增删改查操作的&#xff0c;那么行式存储采用以行的行式在磁盘上存储数据就是一个不错的选择。 当查询基于需求字段查询和返回结果时&#xff0c;由于这些字段都埋藏在各行数据中&#xf…

直播设备之ENC1高级篇拆机刷uboot教程

直播设备之ENC1高级篇拆机刷uboot教程 第一步&#xff1a; 准备材料第二步&#xff1a;拆外壳取出裸板第三步&#xff1a;链接串口线第四步&#xff1a;进入电脑&#xff0c;开始刷uboot第五步&#xff1a;开始刷设备固件 老铁们好&#xff0c;好久没出文章了&#xff0c;这两天…