安装
还原
conda源
最新版的mlagents安装包存在错误
The type or namespace name ‘Barracuda’ does not exist in the namespace ‘Unity’
这个错误在issue中被讨论且被解决,但长期支持版本21还存在。
issue地址
修正错误的mlagents的安装地址
导入安装的包
unity导入本地包
~C:\mlagent\asserts\ml-agents-f16d77629da188f77574354c78031e4e8f3d7faa\com.unity.ml-agents\package.json
注意!!!
包存放位置不能存在中文,否则之后训练时会出现两个错误
Couldn’t connect to trainer on port 5004 using API version 1.5.0. Will perform inference instead.
System.IO.IOException: Error loading native library “C:\Users\Administrator\Desktop\servers\server1\grpc_csharp_ext.x64.dll”. when runs at x64
第一个错误在模型推理的时候会出现,训练时不会出现。因为根据官方的架构图
推理时缺少python提供服务,而训练状态下报错是不正常的。
第二个报错是失败的原因,这是因为存放包的路径中存在了非ASCII字符(比如中文)导致的,如果电脑用户名为中文,可以存放在盘的根路径下。详见相关讨论。
相关讨论
导入完成可以导入mlagents下sample下的3dball样例,如果可以正常运行即代表导入成功。
python环境
换源
pip源
安装pytorch,mlagent(python包),按照官方示例安装即可。
安装mlagent时可能存在的问题
问题1TypeError: CCompiler_spawn() got an unexpected keyword argument 'env'
解决(我只试验过第二条):
- 降级 setuptools 版本: 尝试将 setuptools 降级到 49.6 版本以下。你可以使用以下命令:
pip install setuptools==49.6.0
- 设置环境变量: 设置 SETUPTOOLS_USE_DISTUTILS 环境变量为 stdlib,可以避免这个问题。你可以在命令行中运行以下命令:
set SETUPTOOLS_USE_DISTUTILS=stdlib
- 升级 pip: 确保你的 pip 是最新版本。你可以使用以下命令来升级 pip:
pip install --upgrade pip
- 使用特定版本的 numpy: 尝试安装一个特定版本的 numpy,例如 1.19.3:
pip install numpy==1.19.3
问题2OSError: [WinError 126] 找不到指定的模块。 Error loading “D:\Anaconda3\Lib\site-packages\torch\lib\fbgemm
查阅资料,这大致是因为python的版本过高,而一些依赖包没有对应的whl文件,因此python去编译,但是没有安装vs的缘故而缺少对应的编译工具导致的。
可以去安装对应的编译工具即可↓↓↓↓↓
virtual c++ build tool 2022
讨论
讨论2
示例
官方示例
详见视频