Unity的机器学习工具包ML-Agents还是挺好用的,但是其Python后端在安装的过程中会出一些问题,在这里记录一下。
为了方便多Python环境管理,我在搭建环境的时候使用了Anaconda包管理器。目前ML-Agents支持的Python版本为3.10.12,版本过高或过低都可能会缺少对应的依赖。打开一个PowerShell终端,输入以下命令新建conda环境:
conda create -n mlagents python=3.10.12
如果当前没有在conda环境中(PS前没有(base)
字样),需要先用conda init
来进行初始化。然后激活mlagents
环境,并安装PyTorch:
conda activate mlagents
pip3 install torch~=1.13.1 -f https://download.pytorch.org/whl/torch_stable.html
克隆ML-Agents仓库(Release 21分支):
git clone --branch release_21 https://github.com/Unity-Technologies/ml-agents.git
先安装前置包ml-agents-envs
:
python -m pip install ./ml-agents-envs
这个时候就出问题了,在构建numpy
的时候会报错:
往上面翻,可以看到是NumPy的版本过低,不支持Python 3.10导致的。解决方法很简单,打开ml-agents-envs
中的setup.py
,将其中numpy==1.21.2
改为numpy==1.23.5
即可。这个版本要求也是比较严格的,过高或过低都可能出现依赖错误。
搞定了前置包之后,安装ml-agents
:
python -m pip install ./ml-agents
安装完毕,就可以使用mlagents-learn
命令启动机器学习后端了。如图: