ML-Agents环境配置

发布于 2024-08-19  6 次阅读


ML-Agents是unity用于创建人工智能训练环境的一个package,用unity创建人工智能里env的部分。这将是RMAI中关键的一部分。

基本的配置通过官方的docs可完成,但个人的环境与官方的稍有不同。我使用的是unity在windows端,计算部分在WSL2内完成。因为按照我的经验,windows上配置python环境总会遇上包冲突的问题。

之前因为有代理的需求,已经将WSL2设置成mirror模式。现在的问题是WSL2不能将端口映射在windows内。

在windows端使用netstat命令,可得到windows的端口,无5004端口。

在WSL2端使用netstat -tuln命令,可得到WSL2的端口,有5004端口。

按照官方文档,需要用管理员模式打开Hyper-V的防火墙。正当执行这步时发现使用镜像模式的一个限制。

猜想:WSL2内数据是由tcp6发出,但windows与WSL2无法通过ipv6连接。

经过一晚上尝试,socket将ipv6的端口转到ipv4时,不能同时执行mlagents-learn命令,查看源码,官方也是使用socket进行通讯的。iptables不支持将ipv6转到ipv4。将时间耗在这种地方实在不明智,只能无奈在windows端配环境了。

windows端的问题是在anaconda中配环境,最终会出现关于numpy的错误。

在网上查询发现这个问题github上已经解决,只是并未应用到发布版本。

修改文件内numpy的版本,遂解决。

null
最后更新于 2024-08-24