Unity Machine Learning Agents (ML-Agents) 是一款开源的 Unity 插件, 使得我们得以在游戏环境和模拟环境中训练智能 agent。您可以使用 reinforcement learning(强化学习)、imitation learning(模仿学习)、neuroevolution(神经进化)或其他机器学习方法, 通过简单易用的 Python API进行控制,对 Agent 进行训练。
配置ml-agents环境时,最重要的是要注意cuda,torch,python,mlagents等环境的版本对应,所有对应的版本都可以在GitHub中的文档中查询。
- 安装anaconda
- 安装cuda和cudnn
- 安装unity
- 创建项目环境
- 安装torch
- 安装mlagents的unity部分
- 安装mlagents的python部分
1. 安装anaconda
官网链接:https://anaconda.com/download
官方安装,略。
2. 安装cuda和cudnn
打开cmd,输入nvidia-smi,查看右上角显示的当前驱动支持的cuda最高版本,在nvidia官网下载相应版本的cuda。
官网链接:https://developer.nvidia.com/cuda-downloads
下载自己所需要版本的cuda,本文中使用的是cuda12.1版本,下载完成后打开cmd输入nvcc-V,查看是否下载完成。注意下载过程中记住CUDA的安装路径,以便后续查看,默认安装在C盘即可。
在nvidia官网下载与cuda版本对应的cudnn。
官网链接:https://developer.nvidia.com/rdp/cudnn-download
下载的cudnn是一个压缩包,解压后如图所示,将三个文件夹复制到CUDA目录下,即可完成cudnn的安装。
3. 安装unity
安装unity部分略过。
注意在安装unity之前,先查看需要安装的mlagents版本对应的unity版本号,一方版本号不对,无法完成后续安装。在github中mlagents官方文档中可以查看当前mlagents版本对应的unity版本号。
可以看到,在最新版本的mlagents中,需要对应的unity版本是2021.3以及更高版本
4. 创建项目环境
为了让各个项目之间相互不产生干扰,为每个项目创建其单独的环境,若没有创建新的环境,可以在cmd中输入
Conda create -n [你的环境名称] python=X.X
本问中使用的环境名称为ML-agentsDemo,python版本为3.8,注意此处一定不要随意使用最新版本的python,要查看GitHub官方文档当前mlagents版本支持的python版本,本文项目中的最新版本的mlagents支持python3.8,若此处安装更高版本的python,后续过程中会产生很多问题。
创建完新项目的新环境,输入
conda env list
查看环境是否创建成功
环境创建成功后,输入
Activate [你的环境名称]
进入该环境,在该环境下进行后续的安装操作。
5. 安装torch
登录pytorch官网,根据自己对应的cuda版本,使用conda下载对应版本的torch,官网会有下载语句,按照官网下载即可。
官网链接:https://pytorch.org
本文中的环境是cuda12.1,所以选择相应的语句,将该语句在项目环境下输入,即可安装对应版本的pytorch。此过程较为漫长。安装完成后如下图所示。
安装完成后cmd输入
pyhon
import torch
torch.cuda.is_available()
检查是否安装成功
6. 安装mlagents的unity部分
进入github中mlagents项目首页,找到右侧的最新版本,本文中最新版本为release-20
官方链接:*https://github.com/Unity-Technologies/ml-agents*
进入对应版本之后可以看到有以下几个包,将整个zip文件下载
下载完成之后得到以下几个包,将其中的com.unity的两个包导入到unity中
打开unity,新建一个项目,在package manager中点击左上角加号,将两个包导入进去
7. 安装mlagents的python部分
打开cmd,cd进入项目中ml-agents的文件夹
执行命令
Pip install -e ./
完成安装