使用 Unity3D ML-Agents 时无法使用 API 版本 API-13 连接到端口 5004 上的训练器

Couldn't connect to trainer on port 5004 using API version API-13 when using Unity3D ML-Agents

我正在使用 Unity3D ML-Agents,当 运行 个内部多个克隆示例(例如 3DBall)时,控制台中有一条消息说:

Couldn't connect to trainer on port 5004 using API version API-13. Will perform inference instead. UnityEngine.Debug:Log(Object) MLAgents.Academy:InitializeEnvironment() (at Assets/ML-Agents/Scripts/Academy.cs:228) MLAgents.Academy:LazyInitialization() (at Assets/ML-Agents/Scripts/Academy.cs:147) MLAgents.Agent:OnEnable() (at Assets/ML-Agents/Scripts/Agent.cs:255)

我尝试关闭防火墙,但没有用。 我该如何解决?

我使用的版本是

Unity 2018.4.14f1, 
ml-agents: 0.13.0,   
ml-agents-envs: 0.13.0,  
Communicator API: API-13,   
TensorFlow: 1.7.1

这只是一个正常的警告,告诉您您不会训练,而是在环境中使用已经训练过的版本。您无需为此担心。我假设您的环境在您启动时就可以正常工作。

如果你真的想关闭它,你可以去代理对象并寻找 'Behavior Parameters' -> 'Behavior Type' 然后将这个值设置为 "Inference"。当你想训练你的代理时,请确保将其设置回默认值。

如果您想对 MLAgents 有一个很好的介绍,请务必查看我的 YouTube ML-Agents Playlist

编辑:我刚刚看到您使用的是测试版。确保至少使用 0.16.0 版。可能只是浏览我的第一个视频是让您入门的最佳主意。