Unity机器学习1 ML-Agents环境搭建

Unity机器学习1 ML-Agents环境搭建

创建具有响应能力的智能虚拟玩家以及非玩家游戏角色非常困难。尤其是当游戏比较复杂时。为了创建智能行为,开发者不得不编写大量代码或借助高度专业化的工具。

使用 Unity Machine Learning Agents (ML-Agents),您不再需要“编码”来模拟行为,而是通过深度强化学习 和模仿学习相结合的方式教授智能代理“学习”。使用 ML-Agents 可让开发者创建更引人入胜的游戏玩法并增强游戏体验。

使用 Unity 和 ML-Agents 工具包,您可以创建物理、视觉和认知丰富的 AI 环境。可以将它们用于基准测试以及研究新的算法和方法。

首先需要搭建MLAgents的环境。后面我们通过一些简单的例子来感受机器学习的魅力。

第一步,创建一个新的Unity项目

项目起名为MLApp,后面为第一个DEMO准备。

第二部,首先安装python3.7

我的平台是windows,所以后面都是基于windows。按照MLAgents文档(文章底部链接)安装3.6或者3.7或更新的版本,最好是根据mlagents包体推荐的版本来安装(如图)
Unity机器学习1 ML-Agents环境搭建_第1张图片

特定版本最好对应特定版本。
Unity机器学习1 ML-Agents环境搭建_第2张图片
这里我们安装3.7。还有其他插件的版本。
下载地址

安装完毕后。
打开cmd,Ctrl+R,输入cmd回车。

py

在这里插入图片描述
退出输入exit()

第三步,Unity项目中创建虚拟环境的脚本运行库模块

还是再cmd中输入

cd UnityProject\MLApp\
py -m venv venv

完成后可以看到多了一个venv目录。
Unity机器学习1 ML-Agents环境搭建_第3张图片

在venv的scripts目录下,通过activeate.bat激活环境脚本,不会影响到其他的python的运行环境。
Unity机器学习1 ML-Agents环境搭建_第4张图片
我们运行它。
输入

venv\scripts\activate

在这里插入图片描述
运行后:
Unity机器学习1 ML-Agents环境搭建_第5张图片

第四步,安装pip

安装数据流执行计算的开源图,首先安装包管理器pip

py -m pip install --upgrade pip

Unity机器学习1 ML-Agents环境搭建_第6张图片
这里提示要添加一个pip的path,否则识别不到这个指令。
Unity机器学习1 ML-Agents环境搭建_第7张图片

下面我们需要安装torch
python torch又称PyTorach,是一个以Python优先的深度学习框架,一个开源的Python机器学习库,用于自然语言处理等应用程序,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow等都不支持的。


C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts\pip install torch==1.7.0 -f https://download.pytorch.org/whl/torch_stable.html

这里我没重启cmd和电脑,就输入了pip全路径。
如果关闭cmd窗口重新打开,上面配置的path就生效了。
Unity机器学习1 ML-Agents环境搭建_第8张图片

第五步,安装mlagents

然后我们再安装mlagents

pip install mlagents

如果需要安装特殊版本可以

pip install mlagents==0.28.0

Unity机器学习1 ML-Agents环境搭建_第9张图片

如果安装mlagents出现了图中的Error,那么你需要根据报错信息输入版本。
Unity机器学习1 ML-Agents环境搭建_第10张图片

pip install mlagents --use-feature=2020-resolver

一般是卸载版本引起的。

然后输入

mlagents-learn --help

Unity机器学习1 ML-Agents环境搭建_第11张图片
表示包成功安装成功了。

如果你再使用中发现了了下面的警告。
Unity机器学习1 ML-Agents环境搭建_第12张图片
是缺少一个CUDA,这是nvidia的一个gpu加速的库,进入nvidia官网下载就好。

提示里如果是101就是10版本,要下载对应版本,现在已经是11了。
Unity机器学习1 ML-Agents环境搭建_第13张图片
下载安装完毕后,再次运行

mlagents-learn --help

在这里插入图片描述
又缺少了cudnn
我们继续再nvidia官网搜索:coDNN,找到下载对应版本,放到刚才安装的CUDA的文件夹里覆盖。

深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络原语库。cuDNN 为标准例程(例如前向和后向卷积、池化、归一化和激活层)提供高度调整的实现。
全球的深度学习研究人员和框架开发人员依靠 cuDNN 来实现高性能 GPU 加速。它使他们能够专注于训练神经网络和开发软件应用程序,而不是花时间在低级 GPU 性能调优上。cuDNN 加速了广泛使用的深度学习框架,包括Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch和TensorFlow。要访问已将 cuDNN 集成到框架中的 NVIDIA 优化深度学习框架容器,请访问NVIDIA GPU CLOUD了解更多信息并开始使用。

mlagents-learn --help

没有任何警告就完成了,到这里我们就完成了python端的所有设置了。

最后,我们安装Unity端的MLAgent

有个简单的办法就是直接从github获取
ML-Agents库

下载一个稳定的release版本。
然后把com.unity.ml-agents和extensions放在项目外,并修改manifest.json
添加

    "com.unity.ml-agents": "file:../com.unity.ml-agents",
    "com.unity.ml-agents.extensions": "file:../com.unity.ml-agents.extensions",

Unity机器学习1 ML-Agents环境搭建_第14张图片

这样进入unity会快速导入mlagents包。到这里全部环境就搭建好了。
下一篇我么简单的做一个机器学习的例子。

参考
ML-Agents库

Unity Machine Learning Agents

How to use Machine Learning AI in Unity! (ML-Agents)

你可能感兴趣的:(AI,Unity,机器学习,unity,机器学习,MLAgents)