Unity 机器学习代理工具包 (ML-Agents) 是一个开源项目,它使游戏和模拟能够作为训练智能代理的环境。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
rsfutch77 fdd452ac Update protobuf readme 6 年前
..
proto/mlagents/envs/communicator_objects API for sending custom protobuf messages to and from Unity. (#1595) 6 年前
README.md Update protobuf readme 6 年前
make.bat Split `mlagents` into two packages (#1812) 6 年前
make_for_win.bat Update make_for_win_.bat to match make.bat 6 年前

README.md

Unity ML-Agents Protobuf Definitions

Contains relevant definitions needed to generate probobuf files used in ML-Agents Toolkit.

Requirements

  • grpc 1.14.1
  • protobuf 3.6.0

Set-up & Installation

Assume the ml-agents repository is checked out to a folder named $MLAGENTS_ROOT. First we will install protobuf and grpcio-tools via your terminal. Note: If you're using Anaconda, don't forget to activate the ml-agents environment first.

pip install protobuf==3.6.0 --force

pip install grpcio-tools==1.11.1

If you don't have it already, download the latest version of nuget. Navigate to your installation of nuget and run the following:

nuget install Grpc.Tools -Version 1.14.1 -OutputDirectory $MLAGENTS_ROOT\protobuf-definitions

Installing Protobuf Compiler

On Mac: brew install protobuf

Running

  1. Open a terminal. Note: If you're using Anaconda, don't forget to activate the ml-agents environment first.
  2. Un-comment line 7 in make.bat (for Windows, use make_for_win.bat), and set to correct Grpc.Tools sub-directory.
  3. Run the .bat from the terminal by navigating to $MLAGENTS_ROOT\protobuf-definitions and entering make.bat (for Windows, use make_for_win.bat)
  4. Note any errors generated that may result from setting the wrong directory in step 2.
  5. In the generated UnityToExternalGrpc.cs file in the $MLAGENTS_ROOT/UnitySDK/Assets/ML-Agents/Scripts/CommunicatorObjects folder, you will need to add the following to the beginning of the file:
# if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_STANDALONE_LINUX

and the following line to the end

#endif

This is to make sure the generated code does not try to access the Grpc library on platforms that are not supported by Grpc.