Unity ML-Agents 之 环境的搭建,以及的 demo 测试

目录

Unity ML-Agents 之 环境的搭建,以及的 demo 测试

一、ML-Agents 介绍

二、环境要求

三、配置GPU训练环境

四、安装Anaconda和Python 3 搭建步骤

五、ml-agent 环境配置

六、在Unity中进行使用

七、查看训练数据

八、报错处理


 

Unity ML-Agents 之 环境的搭建,以及的 demo 测试

 

一、ML-Agents 介绍

Unity机器学习Agent(ML-Agents)是一款开源的Unity插件,可让游戏和模拟作为训练智能Agent的环境。通过简单易用的Python API,Agent可以使用强化学习,模仿学习,神经元演化或其他机器学习方法进行训练。

我们还提供最新算法的实现(基于TensorFlow),使游戏开发者和业余爱好者能够轻松地为2D,3D和VR / AR游戏训练智能Agent。这些受过训练的Agent可以用于多种目的,包括控制NPC行为(在多种Agent和敌对情况下的各种设置中),游戏构建的自动化测试和评估不同游戏设计的预发布决策。 ML-Agents对于游戏开发者和AI研究人员来说都是互利的,因为它提供了一个中央平台,可以在Unity的丰富环境中评估AI的优势,然后得到更广泛的研究和游戏开发者社区的青睐。

在Unity使用中,虽然名字也叫做机器学习ML,但是主要内容还是增强学习RL(或者叫强化学习)。其实并没有错,ML中主要包括监督学习、非监督学习和增强学习三种范式,只是Unity这里并没有监督学习和非监督学习的内容。

 

二、环境要求

官方推荐环境如下(最低要求吧):

  • Phython2/3 64位
  • jupyter notebook
  • TensorFlow (1.0+) (Training)
  • Visual Studio 2017
  • Unity3d 2017

三、配置GPU训练环境

1、下载并安装CUDA 9.0 通用并行计算架构

注意:在安装之前,必须保证关掉任何正在运行的Unity或者Visual Studio程序。

https://developer.nvidia.com/cuda-90-download-archive

 

2、下载 Nvidia cuDNN 深度神经网络的GPU加速库(需要注册Nvdia账号,而且注意版本要for CUDA 9.0)

https://developer.nvidia.com/cudnn

3、 添加cuDNN库到CUDA 9.0

将下载好的cuDNN库cuda目录的三个文件夹(bin,include,lib),复制覆盖到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0文件夹里。

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第1张图片

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第2张图片

4、再次更改环境变量

添加系统变量:"CUDA_HOME",变量值为

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第3张图片

编辑系统变量"Path",添加如下路径:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第4张图片

 

四、安装Anaconda和Python 3 搭建步骤

1、因为Unity使用 Visual Studio ,所以我们能使用 Visual Studio 进行搭建

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第5张图片

2、点击 修改 进入

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第6张图片

3、在 数据科学和分析应用程序 的库 中 勾选Anaconda (最新)和 Python 3 进行安装

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第7张图片

五、ml-agent 环境配置

1、打开 Anoconda3 的 Anaconda Navigator ,并且以管理员身份打开

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第8张图片

2、打开后,点击 Environments - Create ,创建一个环境,然后点击 小三角 - Open Terminal

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第9张图片

 

3、在网址 https://github.com/Unity-Technologies/ml-agents 对应下载对应版本的 ml-agents

(版本为 2019 年 10 月 28 日 的 ml-agents-master 版本)

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第10张图片

4、下载好后对应解压得到 ml-agents 工程

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第11张图片

5、把刚才 Open Terminal 的窗口,输入 cd /d 对应的 ml-agents-envs 目录,然后 pip install -e .  (安装软件环境)

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第12张图片

6、然后切换目录 cd /d 对应的 ml-agents 目录,然后 pip install -e .  (安装软件环境)

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第13张图片

7、以上均没有报错,说明环境配置成功

六、在Unity中进行使用

1、Unity 打开 ml-agent 工程下的 UnitySDK 下的工程

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第14张图片

2、然后打开 3DBall Example 场景

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第15张图片

3、找到场景中的 Ball3DAcademy ,然后勾选上 脚本 Ball3DAcademy 上的 Control,(为的是后面进行训练)

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第16张图片

4、在 Terminal 中 切回 ml-agents 主菜单,执行 mlagents-learn config\trainer_config.yaml --run-id=3dBallTrain001 --train  

其中 --run-id=3dBallTrain001  后面的名字自己定义即可

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第17张图片

5、执行完以上命令,出现 INFO:mlagents.envs:Start training by pressing the Play button in the Unity Editor.  即可回到

Unity 中,点击 Play 运行场景

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第18张图片

6、点击 Unity中的 Play ,运行场景,就开始训练了,训练次数(大概 50000 次之多)会蛮久,等待即可

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第19张图片

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第20张图片

7、训练结束后,会在特定目录生成训练.nn文件 /3dBallTrain001-0/3DBallLearning.nn

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第21张图片

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第22张图片

8、由于Unity中有同名的 nn 文件,可以修改名称后导入 Unity中,并且赋值给 3DBallLearning ,具体如下图

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第23张图片

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第24张图片

9、回到场景,找到场景中的 Ball3DAcademy ,然后取消勾选 脚本 Ball3DAcademy 上的 Control,运行场景,即可看到自己的训练成果

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第25张图片

 

七、查看训练数据

1、在终端Terminal 输入 tensorboard --logdir=summaries

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第26张图片

2、在显示的网址中,即可查看,如下图

注意:挡在终端中按下 Ctrl+C 退出的时候,网页的数据可视化也将中断

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第27张图片

八、报错处理

1、报错 W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found

(正确安装前面的GPU即可解决)

Unity ML-Agents 之 环境的搭建,以及的 demo 测试_第28张图片

 

 

 

你可能感兴趣的:(Unity,实用工具,Unity,MLAgent)