Unity红球吃绿球强化学习小任务——Ubuntu20.04系统于2022年2月26日实现
Unity红球吃绿球强化学习小任务
主要参考的教程:https://www.bilibili.com/video/BV1354y1D71r?from=search&seid=17872177648893791745&spm_id_from=333.337.0.0
!!!由于版本的变化有很多需要调整的地方,直接说明视频对应的章节中哪些需要修改 !!!
由于Ubuntu等Linux用户使用的群体较少,这方面教程的更新频率和数量较少,版本的变化和官网界面的改动经常导致出现各种版本问题,因此我在前人的基础上给出新的教程
笔者研究方向为深度强化学习,最近涉及到需要用Unity搭建环境交互,因此开始新的研究,其中遇到并解决了很多问题,这此与大家分享
一、主机环境参数说明
- Ubuntu 20.04(Windows和Ubuntu在一些Unity内置库中的选择有区别)
- 30系列显卡
- NVIDIA-SMI 470.103.01(Driver Version: 470.103.01)
- CUDA Version: 11.4 (可以GPU训练)
- mlagents 0.18.0 mlagents-envs 0.18.0(影响最大的版本问题,需要严格控制在0.16.0 - 0.20.0)
- Unity Hub 3.0.0-beta7
- Unity Editor 2020.3.29f1c1(这个版本也会有影响)
二、具体教程以之前提供的视频介绍为主,需要修改的章节会标注
P1 000-项目演示
P2 100-Unity机器学习案例下载
这个下载下来后主要是可以看看官方实现的一些例子,对我们红球吃绿球的任务没有影响(和原视频中说的不一样)
P3 101-狗子的学习
P4 102-安装Anaconda并创建环境
P5 103-完成所有的环境准备
!!!需要修改 !!!
(1)安装mlagents:
必须安装0.16.0 – 0.20.0的tensorflow版本(虽然现在最新版本是0.28.0并且使用的pytorch,但是在Ubuntu环境下无法连接到Unity Editor环境,无法实现训练交互)
在激活的conda虚拟环境中使用:
pip install mlagents==0.18.0
(2)Unity制作界面导入Barracuda:
在笔者的主机各项参数条件下,已经不能采用视频作者的导入方式,Unity制作界面的Package Manager中已经不存在这个库了,导入方法见下面(3)
(3)Unity制作界面导入ML Agents:
在笔者的主机各项参数条件下,已经不能采用视频作者的导入方式,必须在Unity制作界面的Package Manager中搜索ML Agents并通过install导入,另外导入ML Agents的过程中会自动把Barracuda导入进去
(4)不要(也不需要)将Editor、Plugins、Runtime三个文件夹复制到Assets中,会无法运行
P6 104-创建场景
P7 105-Agent里面的四个函数
该RollerAgent.cs文件笔者也提供一份完成的(需要请私聊,可能不能及时回复),也可以自己跟着视频中敲,敲错会无法运行
P8 106-手动操作智能体
P9 107-重置游戏的函数
P10 108-设置智能体奖励
P11 109-随机Target的位置并收集观察结果
P12 110-收集观察结果完成前期训练准备
P13 111-让红球可以一直吃到绿球
P14 112-开始训练模型
config.yaml文件笔者也提供一份完成的(需要请私聊,可能不能及时回复)
注意conda虚拟环境中mlagents的版本必须0.16.0 – 0.20.0
在笔者的环境参数下可以选择GPU训练(猜测只要平常深度学习代码可以GPU跑就基本没问题)
P15 113-完成模型的训练
P16 114-课程结束
|