浏览代码

Rename protobuf objects to be suffixed with 'Proto' in python and C#. (#2646)

/develop-gpu-test
GitHub 5 年前
当前提交
2f74b3cc
共有 143 个文件被更改,包括 1921 次插入933 次删除
  1. 4
      UnitySDK/Assets/ML-Agents/Scripts/Academy.cs
  2. 10
      UnitySDK/Assets/ML-Agents/Scripts/Agent.cs
  3. 20
      UnitySDK/Assets/ML-Agents/Scripts/Batcher.cs
  4. 27
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomAction.cs
  5. 28
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomObservation.cs
  6. 28
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomResetParameters.cs
  7. 28
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Header.cs
  8. 49
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityInput.cs
  9. 58
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityMessage.cs
  10. 50
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityOutput.cs
  11. 27
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInitializationInput.cs
  12. 44
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInitializationOutput.cs
  13. 68
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInput.cs
  14. 56
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlOutput.cs
  15. 8
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityToExternal.cs
  16. 48
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityToExternalGrpc.cs
  17. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentAction.cs.meta
  18. 44
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentInfo.cs
  19. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentInfo.cs.meta
  20. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/BrainParameters.cs.meta
  21. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Command.cs.meta
  22. 25
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/DemonstrationMeta.cs
  23. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/DemonstrationMeta.cs.meta
  24. 26
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EngineConfiguration.cs
  25. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EngineConfiguration.cs.meta
  26. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EnvironmentParameters.cs.meta
  27. 22
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Resolution.cs
  28. 2
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceType.cs.meta
  29. 19
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/RpcCommunicator.cs
  30. 6
      UnitySDK/Assets/ML-Agents/Scripts/ICommunicator.cs
  31. 18
      UnitySDK/Assets/ML-Agents/Scripts/SocketCommunicator.cs
  32. 6
      ml-agents-envs/mlagents/envs/brain.py
  33. 8
      ml-agents-envs/mlagents/envs/communicator.py
  34. 20
      ml-agents-envs/mlagents/envs/communicator_objects/custom_action_pb2.py
  35. 4
      ml-agents-envs/mlagents/envs/communicator_objects/custom_action_pb2.pyi
  36. 20
      ml-agents-envs/mlagents/envs/communicator_objects/custom_observation_pb2.py
  37. 4
      ml-agents-envs/mlagents/envs/communicator_objects/custom_observation_pb2.pyi
  38. 20
      ml-agents-envs/mlagents/envs/communicator_objects/custom_reset_parameters_pb2.py
  39. 4
      ml-agents-envs/mlagents/envs/communicator_objects/custom_reset_parameters_pb2.pyi
  40. 24
      ml-agents-envs/mlagents/envs/communicator_objects/header_pb2.py
  41. 4
      ml-agents-envs/mlagents/envs/communicator_objects/header_pb2.pyi
  42. 28
      ml-agents-envs/mlagents/envs/communicator_objects/unity_input_pb2.py
  43. 16
      ml-agents-envs/mlagents/envs/communicator_objects/unity_input_pb2.pyi
  44. 32
      ml-agents-envs/mlagents/envs/communicator_objects/unity_message_pb2.py
  45. 22
      ml-agents-envs/mlagents/envs/communicator_objects/unity_message_pb2.pyi
  46. 28
      ml-agents-envs/mlagents/envs/communicator_objects/unity_output_pb2.py
  47. 16
      ml-agents-envs/mlagents/envs/communicator_objects/unity_output_pb2.pyi
  48. 22
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_input_pb2.py
  49. 4
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_input_pb2.pyi
  50. 42
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_output_pb2.py
  51. 20
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_output_pb2.pyi
  52. 92
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_input_pb2.py
  53. 40
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_input_pb2.pyi
  54. 78
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_output_pb2.py
  55. 24
      ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_output_pb2.pyi
  56. 20
      ml-agents-envs/mlagents/envs/communicator_objects/unity_to_external_pb2.py
  57. 18
      ml-agents-envs/mlagents/envs/communicator_objects/unity_to_external_pb2_grpc.py
  58. 14
      ml-agents-envs/mlagents/envs/communicator_objects/agent_action_pb2.py
  59. 6
      ml-agents-envs/mlagents/envs/communicator_objects/agent_action_pb2.pyi
  60. 14
      ml-agents-envs/mlagents/envs/communicator_objects/agent_info_pb2.py
  61. 6
      ml-agents-envs/mlagents/envs/communicator_objects/agent_info_pb2.pyi
  62. 22
      ml-agents-envs/mlagents/envs/communicator_objects/brain_parameters_pb2.py
  63. 10
      ml-agents-envs/mlagents/envs/communicator_objects/command_pb2.py
  64. 12
      ml-agents-envs/mlagents/envs/communicator_objects/demonstration_meta_pb2.py
  65. 12
      ml-agents-envs/mlagents/envs/communicator_objects/engine_configuration_pb2.py
  66. 20
      ml-agents-envs/mlagents/envs/communicator_objects/environment_parameters_pb2.py
  67. 6
      ml-agents-envs/mlagents/envs/communicator_objects/environment_parameters_pb2.pyi
  68. 12
      ml-agents-envs/mlagents/envs/communicator_objects/resolution_pb2.py
  69. 42
      ml-agents-envs/mlagents/envs/environment.py
  70. 30
      ml-agents-envs/mlagents/envs/mock_communicator.py
  71. 26
      ml-agents-envs/mlagents/envs/rpc_communicator.py
  72. 20
      ml-agents-envs/mlagents/envs/socket_communicator.py
  73. 8
      ml-agents/mlagents/trainers/demo_loader.py
  74. 2
      ml-agents/mlagents/trainers/tests/test_simple_rl.py
  75. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_action.proto
  76. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_observation.proto
  77. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_reset_parameters.proto
  78. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/header.proto
  79. 6
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_input.proto
  80. 8
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_message.proto
  81. 6
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_output.proto
  82. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_initialization_input.proto
  83. 6
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_initialization_output.proto
  84. 8
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_input.proto
  85. 4
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_output.proto
  86. 4
      protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_to_external.proto
  87. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/agent_action.proto
  88. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/agent_info.proto
  89. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/environment_parameters.proto
  90. 2
      protobuf-definitions/proto/mlagents/envs/communicator_objects/space_type.proto
  91. 282
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentAction.cs
  92. 356
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/BrainParameters.cs
  93. 49
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Command.cs
  94. 207
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EnvironmentParameters.cs
  95. 49
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceType.cs
  96. 66
      ml-agents-envs/mlagents/envs/communicator_objects/brain_parameters_pb2.pyi
  97. 61
      ml-agents-envs/mlagents/envs/communicator_objects/space_type_pb2.py
  98. 18
      protobuf-definitions/proto/mlagents/envs/communicator_objects/brain_parameters.proto
  99. 50
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceTypeProto.cs
  100. 49
      UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CommandProto.cs

4
UnitySDK/Assets/ML-Agents/Scripts/Academy.cs


[Tooltip("List of custom parameters that can be changed in the " +
"environment when it resets.")]
public ResetParameters resetParameters;
public CommunicatorObjects.CustomResetParameters customResetParameters;
public CommunicatorObjects.CustomResetParametersProto customResetParameters;
// Fields not provided in the Inspector.

m_IsCommunicatorOn = true;
var academyParameters =
new CommunicatorObjects.UnityRLInitializationOutput();
new CommunicatorObjects.UnityRLInitializationOutputProto();
academyParameters.Name = gameObject.name;
academyParameters.Version = k_KApiVersion;
foreach (var brain in exposedBrains)

10
UnitySDK/Assets/ML-Agents/Scripts/Agent.cs


/// User-customizable object for sending structured output from Unity to Python in response
/// to an action in addition to a scalar reward.
/// </summary>
public CustomObservation customObservation;
public CustomObservationProto customObservation;
/// <summary>
/// Remove the visual observations from memory. Call at each timestep

public string textActions;
public List<float> memories;
public float value;
public CustomAction customAction;
public CustomActionProto customAction;
}
/// <summary>

/// A custom action, defined by the user as custom protobuf message. Useful if the action is hard to encode
/// as either a flat vector or a single string.
/// </param>
public virtual void AgentAction(float[] vectorAction, string textAction, CustomAction customAction)
public virtual void AgentAction(float[] vectorAction, string textAction, CustomActionProto customAction)
{
// We fall back to not using the custom action if the subclassed Agent doesn't override this method.
AgentAction(vectorAction, textAction);

/// Updates the custom action.
/// </summary>
/// <param name="customAction">Custom action.</param>
public void UpdateCustomAction(CustomAction customAction)
public void UpdateCustomAction(CustomActionProto customAction)
{
m_Action.customAction = customAction;
}

/// Sets the custom observation for the agent for this episode.
/// </summary>
/// <param name="customObservation">New value of the agent's custom observation.</param>
public void SetCustomObservation(CustomObservation customObservation)
public void SetCustomObservation(CustomObservationProto customObservation)
{
m_Info.customObservation = customObservation;
}

20
UnitySDK/Assets/ML-Agents/Scripts/Batcher.cs


ICommunicator m_Communicator;
/// The current UnityRLOutput to be sent when all the brains queried the batcher
CommunicatorObjects.UnityRLOutput m_CurrentUnityRlOutput =
new CommunicatorObjects.UnityRLOutput();
CommunicatorObjects.UnityRLOutputProto m_CurrentUnityRlOutput =
new CommunicatorObjects.UnityRLOutputProto();
/// Keeps track of last CommandProto sent by External
CommunicatorObjects.CommandProto m_Command;

/// </summary>
/// <returns>The External Initialization Parameters received.</returns>
/// <param name="academyParameters">The Unity Initialization Parameters to be sent.</param>
public CommunicatorObjects.UnityRLInitializationInput SendAcademyParameters(
CommunicatorObjects.UnityRLInitializationOutput academyParameters)
public CommunicatorObjects.UnityRLInitializationInputProto SendAcademyParameters(
CommunicatorObjects.UnityRLInitializationOutputProto academyParameters)
CommunicatorObjects.UnityInput input;
var initializationInput = new CommunicatorObjects.UnityInput();
CommunicatorObjects.UnityInputProto input;
var initializationInput = new CommunicatorObjects.UnityInputProto();
new CommunicatorObjects.UnityOutput
new CommunicatorObjects.UnityOutputProto
{
RlInitializationOutput = academyParameters
},

m_CurrentAgents[brainKey] = new List<Agent>(k_NumAgents);
m_CurrentUnityRlOutput.AgentInfos.Add(
brainKey,
new CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto());
new CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto());
}
/// <summary>

void SendBatchedMessageHelper()
{
var input = m_Communicator.Exchange(
new CommunicatorObjects.UnityOutput
new CommunicatorObjects.UnityOutputProto
foreach (var k in m_CurrentUnityRlOutput.AgentInfos.Keys)
{

27
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomAction.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjZtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9h",
"Y3Rpb24ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzIg4KDEN1c3RvbUFj",
"dGlvbkIfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9yT2JqZWN0c2IGcHJvdG8z"));
"Y3Rpb24ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzIhMKEUN1c3RvbUFj",
"dGlvblByb3RvQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3RzYgZw",
"cm90bzM="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomAction), global::MLAgents.CommunicatorObjects.CustomAction.Parser, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomActionProto), global::MLAgents.CommunicatorObjects.CustomActionProto.Parser, null, null, null, null)
}));
}
#endregion

public sealed partial class CustomAction : pb::IMessage<CustomAction> {
private static readonly pb::MessageParser<CustomAction> _parser = new pb::MessageParser<CustomAction>(() => new CustomAction());
public sealed partial class CustomActionProto : pb::IMessage<CustomActionProto> {
private static readonly pb::MessageParser<CustomActionProto> _parser = new pb::MessageParser<CustomActionProto>(() => new CustomActionProto());
public static pb::MessageParser<CustomAction> Parser { get { return _parser; } }
public static pb::MessageParser<CustomActionProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CustomAction() {
public CustomActionProto() {
OnConstruction();
}

public CustomAction(CustomAction other) : this() {
public CustomActionProto(CustomActionProto other) : this() {
public CustomAction Clone() {
return new CustomAction(this);
public CustomActionProto Clone() {
return new CustomActionProto(this);
return Equals(other as CustomAction);
return Equals(other as CustomActionProto);
public bool Equals(CustomAction other) {
public bool Equals(CustomActionProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(CustomAction other) {
public void MergeFrom(CustomActionProto other) {
if (other == null) {
return;
}

28
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomObservation.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjttbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9v",
"YnNlcnZhdGlvbi5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMiEwoRQ3Vz",
"dG9tT2JzZXJ2YXRpb25CH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVj",
"dHNiBnByb3RvMw=="));
"YnNlcnZhdGlvbi5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMiGAoWQ3Vz",
"dG9tT2JzZXJ2YXRpb25Qcm90b0IfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9y",
"T2JqZWN0c2IGcHJvdG8z"));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomObservation), global::MLAgents.CommunicatorObjects.CustomObservation.Parser, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomObservationProto), global::MLAgents.CommunicatorObjects.CustomObservationProto.Parser, null, null, null, null)
}));
}
#endregion

public sealed partial class CustomObservation : pb::IMessage<CustomObservation> {
private static readonly pb::MessageParser<CustomObservation> _parser = new pb::MessageParser<CustomObservation>(() => new CustomObservation());
public sealed partial class CustomObservationProto : pb::IMessage<CustomObservationProto> {
private static readonly pb::MessageParser<CustomObservationProto> _parser = new pb::MessageParser<CustomObservationProto>(() => new CustomObservationProto());
public static pb::MessageParser<CustomObservation> Parser { get { return _parser; } }
public static pb::MessageParser<CustomObservationProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CustomObservation() {
public CustomObservationProto() {
OnConstruction();
}

public CustomObservation(CustomObservation other) : this() {
public CustomObservationProto(CustomObservationProto other) : this() {
public CustomObservation Clone() {
return new CustomObservation(this);
public CustomObservationProto Clone() {
return new CustomObservationProto(this);
return Equals(other as CustomObservation);
return Equals(other as CustomObservationProto);
public bool Equals(CustomObservation other) {
public bool Equals(CustomObservationProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(CustomObservation other) {
public void MergeFrom(CustomObservationProto other) {
if (other == null) {
return;
}

28
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CustomResetParameters.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CkBtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9y",
"ZXNldF9wYXJhbWV0ZXJzLnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cyIX",
"ChVDdXN0b21SZXNldFBhcmFtZXRlcnNCH6oCHE1MQWdlbnRzLkNvbW11bmlj",
"YXRvck9iamVjdHNiBnByb3RvMw=="));
"ZXNldF9wYXJhbWV0ZXJzLnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cyIc",
"ChpDdXN0b21SZXNldFBhcmFtZXRlcnNQcm90b0IfqgIcTUxBZ2VudHMuQ29t",
"bXVuaWNhdG9yT2JqZWN0c2IGcHJvdG8z"));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomResetParameters), global::MLAgents.CommunicatorObjects.CustomResetParameters.Parser, null, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.CustomResetParametersProto), global::MLAgents.CommunicatorObjects.CustomResetParametersProto.Parser, null, null, null, null)
}));
}
#endregion

public sealed partial class CustomResetParameters : pb::IMessage<CustomResetParameters> {
private static readonly pb::MessageParser<CustomResetParameters> _parser = new pb::MessageParser<CustomResetParameters>(() => new CustomResetParameters());
public sealed partial class CustomResetParametersProto : pb::IMessage<CustomResetParametersProto> {
private static readonly pb::MessageParser<CustomResetParametersProto> _parser = new pb::MessageParser<CustomResetParametersProto>(() => new CustomResetParametersProto());
public static pb::MessageParser<CustomResetParameters> Parser { get { return _parser; } }
public static pb::MessageParser<CustomResetParametersProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public CustomResetParameters() {
public CustomResetParametersProto() {
OnConstruction();
}

public CustomResetParameters(CustomResetParameters other) : this() {
public CustomResetParametersProto(CustomResetParametersProto other) : this() {
public CustomResetParameters Clone() {
return new CustomResetParameters(this);
public CustomResetParametersProto Clone() {
return new CustomResetParametersProto(this);
return Equals(other as CustomResetParameters);
return Equals(other as CustomResetParametersProto);
public bool Equals(CustomResetParameters other) {
public bool Equals(CustomResetParametersProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(CustomResetParameters other) {
public void MergeFrom(CustomResetParametersProto other) {
if (other == null) {
return;
}

28
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Header.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Ci9tbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2hlYWRlci5w",
"cm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMiKQoGSGVhZGVyEg4KBnN0YXR1",
"cxgBIAEoBRIPCgdtZXNzYWdlGAIgASgJQh+qAhxNTEFnZW50cy5Db21tdW5p",
"Y2F0b3JPYmplY3RzYgZwcm90bzM="));
"cm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMiLgoLSGVhZGVyUHJvdG8SDgoG",
"c3RhdHVzGAEgASgFEg8KB21lc3NhZ2UYAiABKAlCH6oCHE1MQWdlbnRzLkNv",
"bW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.Header), global::MLAgents.CommunicatorObjects.Header.Parser, new[]{ "Status", "Message" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.HeaderProto), global::MLAgents.CommunicatorObjects.HeaderProto.Parser, new[]{ "Status", "Message" }, null, null, null)
}));
}
#endregion

public sealed partial class Header : pb::IMessage<Header> {
private static readonly pb::MessageParser<Header> _parser = new pb::MessageParser<Header>(() => new Header());
public sealed partial class HeaderProto : pb::IMessage<HeaderProto> {
private static readonly pb::MessageParser<HeaderProto> _parser = new pb::MessageParser<HeaderProto>(() => new HeaderProto());
public static pb::MessageParser<Header> Parser { get { return _parser; } }
public static pb::MessageParser<HeaderProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public Header() {
public HeaderProto() {
OnConstruction();
}

public Header(Header other) : this() {
public HeaderProto(HeaderProto other) : this() {
status_ = other.status_;
message_ = other.message_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);

public Header Clone() {
return new Header(this);
public HeaderProto Clone() {
return new HeaderProto(this);
}
/// <summary>Field number for the "status" field.</summary>

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as Header);
return Equals(other as HeaderProto);
public bool Equals(Header other) {
public bool Equals(HeaderProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(Header other) {
public void MergeFrom(HeaderProto other) {
if (other == null) {
return;
}

49
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityInput.cs


"cHV0LnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cxo3bWxhZ2VudHMvZW52",
"cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy91bml0eV9ybF9pbnB1dC5wcm90bxpG",
"bWxhZ2VudHMvZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy91bml0eV9ybF9p",
"bml0aWFsaXphdGlvbl9pbnB1dC5wcm90byKVAQoKVW5pdHlJbnB1dBI0Cghy",
"bF9pbnB1dBgBIAEoCzIiLmNvbW11bmljYXRvcl9vYmplY3RzLlVuaXR5UkxJ",
"bnB1dBJRChdybF9pbml0aWFsaXphdGlvbl9pbnB1dBgCIAEoCzIwLmNvbW11",
"bmljYXRvcl9vYmplY3RzLlVuaXR5UkxJbml0aWFsaXphdGlvbklucHV0Qh+q",
"AhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3RzYgZwcm90bzM="));
"bml0aWFsaXphdGlvbl9pbnB1dC5wcm90byKkAQoPVW5pdHlJbnB1dFByb3Rv",
"EjkKCHJsX2lucHV0GAEgASgLMicuY29tbXVuaWNhdG9yX29iamVjdHMuVW5p",
"dHlSTElucHV0UHJvdG8SVgoXcmxfaW5pdGlhbGl6YXRpb25faW5wdXQYAiAB",
"KAsyNS5jb21tdW5pY2F0b3Jfb2JqZWN0cy5Vbml0eVJMSW5pdGlhbGl6YXRp",
"b25JbnB1dFByb3RvQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3Rz",
"YgZwcm90bzM="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityInput), global::MLAgents.CommunicatorObjects.UnityInput.Parser, new[]{ "RlInput", "RlInitializationInput" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityInputProto), global::MLAgents.CommunicatorObjects.UnityInputProto.Parser, new[]{ "RlInput", "RlInitializationInput" }, null, null, null)
}));
}
#endregion

public sealed partial class UnityInput : pb::IMessage<UnityInput> {
private static readonly pb::MessageParser<UnityInput> _parser = new pb::MessageParser<UnityInput>(() => new UnityInput());
public sealed partial class UnityInputProto : pb::IMessage<UnityInputProto> {
private static readonly pb::MessageParser<UnityInputProto> _parser = new pb::MessageParser<UnityInputProto>(() => new UnityInputProto());
public static pb::MessageParser<UnityInput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityInputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityInput() {
public UnityInputProto() {
OnConstruction();
}

public UnityInput(UnityInput other) : this() {
public UnityInputProto(UnityInputProto other) : this() {
RlInput = other.rlInput_ != null ? other.RlInput.Clone() : null;
RlInitializationInput = other.rlInitializationInput_ != null ? other.RlInitializationInput.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);

public UnityInput Clone() {
return new UnityInput(this);
public UnityInputProto Clone() {
return new UnityInputProto(this);
private global::MLAgents.CommunicatorObjects.UnityRLInput rlInput_;
private global::MLAgents.CommunicatorObjects.UnityRLInputProto rlInput_;
public global::MLAgents.CommunicatorObjects.UnityRLInput RlInput {
public global::MLAgents.CommunicatorObjects.UnityRLInputProto RlInput {
get { return rlInput_; }
set {
rlInput_ = value;

/// <summary>Field number for the "rl_initialization_input" field.</summary>
public const int RlInitializationInputFieldNumber = 2;
private global::MLAgents.CommunicatorObjects.UnityRLInitializationInput rlInitializationInput_;
private global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto rlInitializationInput_;
public global::MLAgents.CommunicatorObjects.UnityRLInitializationInput RlInitializationInput {
public global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto RlInitializationInput {
get { return rlInitializationInput_; }
set {
rlInitializationInput_ = value;

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityInput);
return Equals(other as UnityInputProto);
public bool Equals(UnityInput other) {
public bool Equals(UnityInputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityInput other) {
public void MergeFrom(UnityInputProto other) {
rlInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInput();
rlInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInputProto();
rlInitializationInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationInput();
rlInitializationInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto();
}
RlInitializationInput.MergeFrom(other.RlInitializationInput);
}

break;
case 10: {
if (rlInput_ == null) {
rlInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInput();
rlInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInputProto();
}
input.ReadMessage(rlInput_);
break;

rlInitializationInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationInput();
rlInitializationInput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto();
}
input.ReadMessage(rlInitializationInput_);
break;

58
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityMessage.cs


"bnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X291dHB1dC5wcm90bxo0",
"bWxhZ2VudHMvZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy91bml0eV9pbnB1",
"dC5wcm90bxovbWxhZ2VudHMvZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy9o",
"ZWFkZXIucHJvdG8irAEKDFVuaXR5TWVzc2FnZRIsCgZoZWFkZXIYASABKAsy",
"HC5jb21tdW5pY2F0b3Jfb2JqZWN0cy5IZWFkZXISNwoMdW5pdHlfb3V0cHV0",
"GAIgASgLMiEuY29tbXVuaWNhdG9yX29iamVjdHMuVW5pdHlPdXRwdXQSNQoL",
"dW5pdHlfaW5wdXQYAyABKAsyIC5jb21tdW5pY2F0b3Jfb2JqZWN0cy5Vbml0",
"eUlucHV0Qh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3RzYgZwcm90",
"bzM="));
"ZWFkZXIucHJvdG8iwAEKEVVuaXR5TWVzc2FnZVByb3RvEjEKBmhlYWRlchgB",
"IAEoCzIhLmNvbW11bmljYXRvcl9vYmplY3RzLkhlYWRlclByb3RvEjwKDHVu",
"aXR5X291dHB1dBgCIAEoCzImLmNvbW11bmljYXRvcl9vYmplY3RzLlVuaXR5",
"T3V0cHV0UHJvdG8SOgoLdW5pdHlfaW5wdXQYAyABKAsyJS5jb21tdW5pY2F0",
"b3Jfb2JqZWN0cy5Vbml0eUlucHV0UHJvdG9CH6oCHE1MQWdlbnRzLkNvbW11",
"bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityMessage), global::MLAgents.CommunicatorObjects.UnityMessage.Parser, new[]{ "Header", "UnityOutput", "UnityInput" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityMessageProto), global::MLAgents.CommunicatorObjects.UnityMessageProto.Parser, new[]{ "Header", "UnityOutput", "UnityInput" }, null, null, null)
}));
}
#endregion

public sealed partial class UnityMessage : pb::IMessage<UnityMessage> {
private static readonly pb::MessageParser<UnityMessage> _parser = new pb::MessageParser<UnityMessage>(() => new UnityMessage());
public sealed partial class UnityMessageProto : pb::IMessage<UnityMessageProto> {
private static readonly pb::MessageParser<UnityMessageProto> _parser = new pb::MessageParser<UnityMessageProto>(() => new UnityMessageProto());
public static pb::MessageParser<UnityMessage> Parser { get { return _parser; } }
public static pb::MessageParser<UnityMessageProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityMessage() {
public UnityMessageProto() {
OnConstruction();
}

public UnityMessage(UnityMessage other) : this() {
public UnityMessageProto(UnityMessageProto other) : this() {
Header = other.header_ != null ? other.Header.Clone() : null;
UnityOutput = other.unityOutput_ != null ? other.UnityOutput.Clone() : null;
UnityInput = other.unityInput_ != null ? other.UnityInput.Clone() : null;

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityMessage Clone() {
return new UnityMessage(this);
public UnityMessageProto Clone() {
return new UnityMessageProto(this);
private global::MLAgents.CommunicatorObjects.Header header_;
private global::MLAgents.CommunicatorObjects.HeaderProto header_;
public global::MLAgents.CommunicatorObjects.Header Header {
public global::MLAgents.CommunicatorObjects.HeaderProto Header {
get { return header_; }
set {
header_ = value;

/// <summary>Field number for the "unity_output" field.</summary>
public const int UnityOutputFieldNumber = 2;
private global::MLAgents.CommunicatorObjects.UnityOutput unityOutput_;
private global::MLAgents.CommunicatorObjects.UnityOutputProto unityOutput_;
public global::MLAgents.CommunicatorObjects.UnityOutput UnityOutput {
public global::MLAgents.CommunicatorObjects.UnityOutputProto UnityOutput {
get { return unityOutput_; }
set {
unityOutput_ = value;

/// <summary>Field number for the "unity_input" field.</summary>
public const int UnityInputFieldNumber = 3;
private global::MLAgents.CommunicatorObjects.UnityInput unityInput_;
private global::MLAgents.CommunicatorObjects.UnityInputProto unityInput_;
public global::MLAgents.CommunicatorObjects.UnityInput UnityInput {
public global::MLAgents.CommunicatorObjects.UnityInputProto UnityInput {
get { return unityInput_; }
set {
unityInput_ = value;

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityMessage);
return Equals(other as UnityMessageProto);
public bool Equals(UnityMessage other) {
public bool Equals(UnityMessageProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityMessage other) {
public void MergeFrom(UnityMessageProto other) {
header_ = new global::MLAgents.CommunicatorObjects.Header();
header_ = new global::MLAgents.CommunicatorObjects.HeaderProto();
unityOutput_ = new global::MLAgents.CommunicatorObjects.UnityOutput();
unityOutput_ = new global::MLAgents.CommunicatorObjects.UnityOutputProto();
unityInput_ = new global::MLAgents.CommunicatorObjects.UnityInput();
unityInput_ = new global::MLAgents.CommunicatorObjects.UnityInputProto();
}
UnityInput.MergeFrom(other.UnityInput);
}

break;
case 10: {
if (header_ == null) {
header_ = new global::MLAgents.CommunicatorObjects.Header();
header_ = new global::MLAgents.CommunicatorObjects.HeaderProto();
}
input.ReadMessage(header_);
break;

unityOutput_ = new global::MLAgents.CommunicatorObjects.UnityOutput();
unityOutput_ = new global::MLAgents.CommunicatorObjects.UnityOutputProto();
}
input.ReadMessage(unityOutput_);
break;

unityInput_ = new global::MLAgents.CommunicatorObjects.UnityInput();
unityInput_ = new global::MLAgents.CommunicatorObjects.UnityInputProto();
}
input.ReadMessage(unityInput_);
break;

50
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityOutput.cs


"dHB1dC5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMaOG1sYWdlbnRzL2Vu",
"dnMvY29tbXVuaWNhdG9yX29iamVjdHMvdW5pdHlfcmxfb3V0cHV0LnByb3Rv",
"GkdtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Js",
"X2luaXRpYWxpemF0aW9uX291dHB1dC5wcm90byKaAQoLVW5pdHlPdXRwdXQS",
"NgoJcmxfb3V0cHV0GAEgASgLMiMuY29tbXVuaWNhdG9yX29iamVjdHMuVW5p",
"dHlSTE91dHB1dBJTChhybF9pbml0aWFsaXphdGlvbl9vdXRwdXQYAiABKAsy",
"MS5jb21tdW5pY2F0b3Jfb2JqZWN0cy5Vbml0eVJMSW5pdGlhbGl6YXRpb25P",
"dXRwdXRCH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3Rv",
"Mw=="));
"X2luaXRpYWxpemF0aW9uX291dHB1dC5wcm90byKpAQoQVW5pdHlPdXRwdXRQ",
"cm90bxI7CglybF9vdXRwdXQYASABKAsyKC5jb21tdW5pY2F0b3Jfb2JqZWN0",
"cy5Vbml0eVJMT3V0cHV0UHJvdG8SWAoYcmxfaW5pdGlhbGl6YXRpb25fb3V0",
"cHV0GAIgASgLMjYuY29tbXVuaWNhdG9yX29iamVjdHMuVW5pdHlSTEluaXRp",
"YWxpemF0aW9uT3V0cHV0UHJvdG9CH6oCHE1MQWdlbnRzLkNvbW11bmljYXRv",
"ck9iamVjdHNiBnByb3RvMw=="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityOutput), global::MLAgents.CommunicatorObjects.UnityOutput.Parser, new[]{ "RlOutput", "RlInitializationOutput" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityOutputProto), global::MLAgents.CommunicatorObjects.UnityOutputProto.Parser, new[]{ "RlOutput", "RlInitializationOutput" }, null, null, null)
}));
}
#endregion

public sealed partial class UnityOutput : pb::IMessage<UnityOutput> {
private static readonly pb::MessageParser<UnityOutput> _parser = new pb::MessageParser<UnityOutput>(() => new UnityOutput());
public sealed partial class UnityOutputProto : pb::IMessage<UnityOutputProto> {
private static readonly pb::MessageParser<UnityOutputProto> _parser = new pb::MessageParser<UnityOutputProto>(() => new UnityOutputProto());
public static pb::MessageParser<UnityOutput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityOutputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityOutput() {
public UnityOutputProto() {
OnConstruction();
}

public UnityOutput(UnityOutput other) : this() {
public UnityOutputProto(UnityOutputProto other) : this() {
RlOutput = other.rlOutput_ != null ? other.RlOutput.Clone() : null;
RlInitializationOutput = other.rlInitializationOutput_ != null ? other.RlInitializationOutput.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);

public UnityOutput Clone() {
return new UnityOutput(this);
public UnityOutputProto Clone() {
return new UnityOutputProto(this);
private global::MLAgents.CommunicatorObjects.UnityRLOutput rlOutput_;
private global::MLAgents.CommunicatorObjects.UnityRLOutputProto rlOutput_;
public global::MLAgents.CommunicatorObjects.UnityRLOutput RlOutput {
public global::MLAgents.CommunicatorObjects.UnityRLOutputProto RlOutput {
get { return rlOutput_; }
set {
rlOutput_ = value;

/// <summary>Field number for the "rl_initialization_output" field.</summary>
public const int RlInitializationOutputFieldNumber = 2;
private global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput rlInitializationOutput_;
private global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto rlInitializationOutput_;
public global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput RlInitializationOutput {
public global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto RlInitializationOutput {
get { return rlInitializationOutput_; }
set {
rlInitializationOutput_ = value;

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityOutput);
return Equals(other as UnityOutputProto);
public bool Equals(UnityOutput other) {
public bool Equals(UnityOutputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityOutput other) {
public void MergeFrom(UnityOutputProto other) {
rlOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLOutput();
rlOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLOutputProto();
rlInitializationOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput();
rlInitializationOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto();
}
RlInitializationOutput.MergeFrom(other.RlInitializationOutput);
}

break;
case 10: {
if (rlOutput_ == null) {
rlOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLOutput();
rlOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLOutputProto();
}
input.ReadMessage(rlOutput_);
break;

rlInitializationOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput();
rlInitializationOutput_ = new global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto();
}
input.ReadMessage(rlInitializationOutput_);
break;

27
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInitializationInput.cs


string.Concat(
"CkZtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Js",
"X2luaXRpYWxpemF0aW9uX2lucHV0LnByb3RvEhRjb21tdW5pY2F0b3Jfb2Jq",
"ZWN0cyIqChpVbml0eVJMSW5pdGlhbGl6YXRpb25JbnB1dBIMCgRzZWVkGAEg",
"ASgFQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3RzYgZwcm90bzM="));
"ZWN0cyIvCh9Vbml0eVJMSW5pdGlhbGl6YXRpb25JbnB1dFByb3RvEgwKBHNl",
"ZWQYASABKAVCH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnBy",
"b3RvMw=="));
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInitializationInput), global::MLAgents.CommunicatorObjects.UnityRLInitializationInput.Parser, new[]{ "Seed" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto), global::MLAgents.CommunicatorObjects.UnityRLInitializationInputProto.Parser, new[]{ "Seed" }, null, null, null)
}));
}
#endregion

public sealed partial class UnityRLInitializationInput : pb::IMessage<UnityRLInitializationInput> {
private static readonly pb::MessageParser<UnityRLInitializationInput> _parser = new pb::MessageParser<UnityRLInitializationInput>(() => new UnityRLInitializationInput());
public sealed partial class UnityRLInitializationInputProto : pb::IMessage<UnityRLInitializationInputProto> {
private static readonly pb::MessageParser<UnityRLInitializationInputProto> _parser = new pb::MessageParser<UnityRLInitializationInputProto>(() => new UnityRLInitializationInputProto());
public static pb::MessageParser<UnityRLInitializationInput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityRLInitializationInputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLInitializationInput() {
public UnityRLInitializationInputProto() {
OnConstruction();
}

public UnityRLInitializationInput(UnityRLInitializationInput other) : this() {
public UnityRLInitializationInputProto(UnityRLInitializationInputProto other) : this() {
public UnityRLInitializationInput Clone() {
return new UnityRLInitializationInput(this);
public UnityRLInitializationInputProto Clone() {
return new UnityRLInitializationInputProto(this);
}
/// <summary>Field number for the "seed" field.</summary>

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityRLInitializationInput);
return Equals(other as UnityRLInitializationInputProto);
public bool Equals(UnityRLInitializationInput other) {
public bool Equals(UnityRLInitializationInputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityRLInitializationInput other) {
public void MergeFrom(UnityRLInitializationInputProto other) {
if (other == null) {
return;
}

44
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInitializationOutput.cs


string.Concat(
"CkdtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Js",
"X2luaXRpYWxpemF0aW9uX291dHB1dC5wcm90bxIUY29tbXVuaWNhdG9yX29i",
"amVjdHMaP21sYWdlbnRzL2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvYnJh",
"aW5fcGFyYW1ldGVyc19wcm90by5wcm90bxpFbWxhZ2VudHMvZW52cy9jb21t",
"dW5pY2F0b3Jfb2JqZWN0cy9lbnZpcm9ubWVudF9wYXJhbWV0ZXJzX3Byb3Rv",
"LnByb3RvIuYBChtVbml0eVJMSW5pdGlhbGl6YXRpb25PdXRwdXQSDAoEbmFt",
"ZRgBIAEoCRIPCgd2ZXJzaW9uGAIgASgJEhAKCGxvZ19wYXRoGAMgASgJEkQK",
"EGJyYWluX3BhcmFtZXRlcnMYBSADKAsyKi5jb21tdW5pY2F0b3Jfb2JqZWN0",
"cy5CcmFpblBhcmFtZXRlcnNQcm90bxJQChZlbnZpcm9ubWVudF9wYXJhbWV0",
"ZXJzGAYgASgLMjAuY29tbXVuaWNhdG9yX29iamVjdHMuRW52aXJvbm1lbnRQ",
"YXJhbWV0ZXJzUHJvdG9CH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVj",
"dHNiBnByb3RvMw=="));
"amVjdHMaOW1sYWdlbnRzL2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvYnJh",
"aW5fcGFyYW1ldGVycy5wcm90bxo/bWxhZ2VudHMvZW52cy9jb21tdW5pY2F0",
"b3Jfb2JqZWN0cy9lbnZpcm9ubWVudF9wYXJhbWV0ZXJzLnByb3RvIusBCiBV",
"bml0eVJMSW5pdGlhbGl6YXRpb25PdXRwdXRQcm90bxIMCgRuYW1lGAEgASgJ",
"Eg8KB3ZlcnNpb24YAiABKAkSEAoIbG9nX3BhdGgYAyABKAkSRAoQYnJhaW5f",
"cGFyYW1ldGVycxgFIAMoCzIqLmNvbW11bmljYXRvcl9vYmplY3RzLkJyYWlu",
"UGFyYW1ldGVyc1Byb3RvElAKFmVudmlyb25tZW50X3BhcmFtZXRlcnMYBiAB",
"KAsyMC5jb21tdW5pY2F0b3Jfb2JqZWN0cy5FbnZpcm9ubWVudFBhcmFtZXRl",
"cnNQcm90b0IfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9yT2JqZWN0c2IGcHJv",
"dG8z"));
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.BrainParametersProtoReflection.Descriptor, global::MLAgents.CommunicatorObjects.EnvironmentParametersProtoReflection.Descriptor, },
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.BrainParametersReflection.Descriptor, global::MLAgents.CommunicatorObjects.EnvironmentParametersReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput), global::MLAgents.CommunicatorObjects.UnityRLInitializationOutput.Parser, new[]{ "Name", "Version", "LogPath", "BrainParameters", "EnvironmentParameters" }, null, null, null)
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto), global::MLAgents.CommunicatorObjects.UnityRLInitializationOutputProto.Parser, new[]{ "Name", "Version", "LogPath", "BrainParameters", "EnvironmentParameters" }, null, null, null)
}));
}
#endregion

/// <summary>
/// The request message containing the academy's parameters.
/// </summary>
public sealed partial class UnityRLInitializationOutput : pb::IMessage<UnityRLInitializationOutput> {
private static readonly pb::MessageParser<UnityRLInitializationOutput> _parser = new pb::MessageParser<UnityRLInitializationOutput>(() => new UnityRLInitializationOutput());
public sealed partial class UnityRLInitializationOutputProto : pb::IMessage<UnityRLInitializationOutputProto> {
private static readonly pb::MessageParser<UnityRLInitializationOutputProto> _parser = new pb::MessageParser<UnityRLInitializationOutputProto>(() => new UnityRLInitializationOutputProto());
public static pb::MessageParser<UnityRLInitializationOutput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityRLInitializationOutputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLInitializationOutput() {
public UnityRLInitializationOutputProto() {
OnConstruction();
}

public UnityRLInitializationOutput(UnityRLInitializationOutput other) : this() {
public UnityRLInitializationOutputProto(UnityRLInitializationOutputProto other) : this() {
name_ = other.name_;
version_ = other.version_;
logPath_ = other.logPath_;

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLInitializationOutput Clone() {
return new UnityRLInitializationOutput(this);
public UnityRLInitializationOutputProto Clone() {
return new UnityRLInitializationOutputProto(this);
}
/// <summary>Field number for the "name" field.</summary>

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityRLInitializationOutput);
return Equals(other as UnityRLInitializationOutputProto);
public bool Equals(UnityRLInitializationOutput other) {
public bool Equals(UnityRLInitializationOutputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityRLInitializationOutput other) {
public void MergeFrom(UnityRLInitializationOutputProto other) {
if (other == null) {
return;
}

68
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlInput.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjdtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Js",
"X2lucHV0LnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cxo7bWxhZ2VudHMv",
"ZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy9hZ2VudF9hY3Rpb25fcHJvdG8u",
"cHJvdG8aRW1sYWdlbnRzL2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvZW52",
"aXJvbm1lbnRfcGFyYW1ldGVyc19wcm90by5wcm90bxo2bWxhZ2VudHMvZW52",
"cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy9jb21tYW5kX3Byb3RvLnByb3RvIrQD",
"CgxVbml0eVJMSW5wdXQSSwoNYWdlbnRfYWN0aW9ucxgBIAMoCzI0LmNvbW11",
"bmljYXRvcl9vYmplY3RzLlVuaXR5UkxJbnB1dC5BZ2VudEFjdGlvbnNFbnRy",
"eRJQChZlbnZpcm9ubWVudF9wYXJhbWV0ZXJzGAIgASgLMjAuY29tbXVuaWNh",
"dG9yX29iamVjdHMuRW52aXJvbm1lbnRQYXJhbWV0ZXJzUHJvdG8SEwoLaXNf",
"dHJhaW5pbmcYAyABKAgSMwoHY29tbWFuZBgEIAEoDjIiLmNvbW11bmljYXRv",
"cl9vYmplY3RzLkNvbW1hbmRQcm90bxpNChRMaXN0QWdlbnRBY3Rpb25Qcm90",
"bxI1CgV2YWx1ZRgBIAMoCzImLmNvbW11bmljYXRvcl9vYmplY3RzLkFnZW50",
"QWN0aW9uUHJvdG8abAoRQWdlbnRBY3Rpb25zRW50cnkSCwoDa2V5GAEgASgJ",
"EkYKBXZhbHVlGAIgASgLMjcuY29tbXVuaWNhdG9yX29iamVjdHMuVW5pdHlS",
"TElucHV0Lkxpc3RBZ2VudEFjdGlvblByb3RvOgI4AUIfqgIcTUxBZ2VudHMu",
"Q29tbXVuaWNhdG9yT2JqZWN0c2IGcHJvdG8z"));
"X2lucHV0LnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cxo1bWxhZ2VudHMv",
"ZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy9hZ2VudF9hY3Rpb24ucHJvdG8a",
"P21sYWdlbnRzL2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvZW52aXJvbm1l",
"bnRfcGFyYW1ldGVycy5wcm90bxowbWxhZ2VudHMvZW52cy9jb21tdW5pY2F0",
"b3Jfb2JqZWN0cy9jb21tYW5kLnByb3RvIsMDChFVbml0eVJMSW5wdXRQcm90",
"bxJQCg1hZ2VudF9hY3Rpb25zGAEgAygLMjkuY29tbXVuaWNhdG9yX29iamVj",
"dHMuVW5pdHlSTElucHV0UHJvdG8uQWdlbnRBY3Rpb25zRW50cnkSUAoWZW52",
"aXJvbm1lbnRfcGFyYW1ldGVycxgCIAEoCzIwLmNvbW11bmljYXRvcl9vYmpl",
"Y3RzLkVudmlyb25tZW50UGFyYW1ldGVyc1Byb3RvEhMKC2lzX3RyYWluaW5n",
"GAMgASgIEjMKB2NvbW1hbmQYBCABKA4yIi5jb21tdW5pY2F0b3Jfb2JqZWN0",
"cy5Db21tYW5kUHJvdG8aTQoUTGlzdEFnZW50QWN0aW9uUHJvdG8SNQoFdmFs",
"dWUYASADKAsyJi5jb21tdW5pY2F0b3Jfb2JqZWN0cy5BZ2VudEFjdGlvblBy",
"b3RvGnEKEUFnZW50QWN0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRJLCgV2YWx1",
"ZRgCIAEoCzI8LmNvbW11bmljYXRvcl9vYmplY3RzLlVuaXR5UkxJbnB1dFBy",
"b3RvLkxpc3RBZ2VudEFjdGlvblByb3RvOgI4AUIfqgIcTUxBZ2VudHMuQ29t",
"bXVuaWNhdG9yT2JqZWN0c2IGcHJvdG8z"));
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.AgentActionProtoReflection.Descriptor, global::MLAgents.CommunicatorObjects.EnvironmentParametersProtoReflection.Descriptor, global::MLAgents.CommunicatorObjects.CommandProtoReflection.Descriptor, },
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.AgentActionReflection.Descriptor, global::MLAgents.CommunicatorObjects.EnvironmentParametersReflection.Descriptor, global::MLAgents.CommunicatorObjects.CommandReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInput), global::MLAgents.CommunicatorObjects.UnityRLInput.Parser, new[]{ "AgentActions", "EnvironmentParameters", "IsTraining", "Command" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto), global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInputProto), global::MLAgents.CommunicatorObjects.UnityRLInputProto.Parser, new[]{ "AgentActions", "EnvironmentParameters", "IsTraining", "Command" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto), global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto.Parser, new[]{ "Value" }, null, null, null),
null, })
}));
}

#region Messages
public sealed partial class UnityRLInput : pb::IMessage<UnityRLInput> {
private static readonly pb::MessageParser<UnityRLInput> _parser = new pb::MessageParser<UnityRLInput>(() => new UnityRLInput());
public sealed partial class UnityRLInputProto : pb::IMessage<UnityRLInputProto> {
private static readonly pb::MessageParser<UnityRLInputProto> _parser = new pb::MessageParser<UnityRLInputProto>(() => new UnityRLInputProto());
public static pb::MessageParser<UnityRLInput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityRLInputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLInput() {
public UnityRLInputProto() {
OnConstruction();
}

public UnityRLInput(UnityRLInput other) : this() {
public UnityRLInputProto(UnityRLInputProto other) : this() {
agentActions_ = other.agentActions_.Clone();
EnvironmentParameters = other.environmentParameters_ != null ? other.EnvironmentParameters.Clone() : null;
isTraining_ = other.isTraining_;

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLInput Clone() {
return new UnityRLInput(this);
public UnityRLInputProto Clone() {
return new UnityRLInputProto(this);
private static readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto>.Codec _map_agentActions_codec
= new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto.Parser), 10);
private readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto> agentActions_ = new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto>();
private static readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto>.Codec _map_agentActions_codec
= new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto.Parser), 10);
private readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto> agentActions_ = new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto>();
public pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInput.Types.ListAgentActionProto> AgentActions {
public pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLInputProto.Types.ListAgentActionProto> AgentActions {
get { return agentActions_; }
}

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as UnityRLInput);
return Equals(other as UnityRLInputProto);
public bool Equals(UnityRLInput other) {
public bool Equals(UnityRLInputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityRLInput other) {
public void MergeFrom(UnityRLInputProto other) {
if (other == null) {
return;
}

}
#region Nested types
/// <summary>Container for nested types declared in the UnityRLInput message type.</summary>
/// <summary>Container for nested types declared in the UnityRLInputProto message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
public sealed partial class ListAgentActionProto : pb::IMessage<ListAgentActionProto> {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.UnityRLInput.Descriptor.NestedTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.UnityRLInputProto.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

56
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityRlOutput.cs


byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjhtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Js",
"X291dHB1dC5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMaOW1sYWdlbnRz",
"L2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvYWdlbnRfaW5mb19wcm90by5w",
"cm90byKUAgoNVW5pdHlSTE91dHB1dBJHCgphZ2VudEluZm9zGAIgAygLMjMu",
"Y29tbXVuaWNhdG9yX29iamVjdHMuVW5pdHlSTE91dHB1dC5BZ2VudEluZm9z",
"RW50cnkaSQoSTGlzdEFnZW50SW5mb1Byb3RvEjMKBXZhbHVlGAEgAygLMiQu",
"Y29tbXVuaWNhdG9yX29iamVjdHMuQWdlbnRJbmZvUHJvdG8aaQoPQWdlbnRJ",
"bmZvc0VudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LmNvbW11",
"bmljYXRvcl9vYmplY3RzLlVuaXR5UkxPdXRwdXQuTGlzdEFnZW50SW5mb1By",
"b3RvOgI4AUoECAEQAkIfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9yT2JqZWN0",
"c2IGcHJvdG8z"));
"X291dHB1dC5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMaM21sYWdlbnRz",
"L2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvYWdlbnRfaW5mby5wcm90byKj",
"AgoSVW5pdHlSTE91dHB1dFByb3RvEkwKCmFnZW50SW5mb3MYAiADKAsyOC5j",
"b21tdW5pY2F0b3Jfb2JqZWN0cy5Vbml0eVJMT3V0cHV0UHJvdG8uQWdlbnRJ",
"bmZvc0VudHJ5GkkKEkxpc3RBZ2VudEluZm9Qcm90bxIzCgV2YWx1ZRgBIAMo",
"CzIkLmNvbW11bmljYXRvcl9vYmplY3RzLkFnZW50SW5mb1Byb3RvGm4KD0Fn",
"ZW50SW5mb3NFbnRyeRILCgNrZXkYASABKAkSSgoFdmFsdWUYAiABKAsyOy5j",
"b21tdW5pY2F0b3Jfb2JqZWN0cy5Vbml0eVJMT3V0cHV0UHJvdG8uTGlzdEFn",
"ZW50SW5mb1Byb3RvOgI4AUoECAEQAkIfqgIcTUxBZ2VudHMuQ29tbXVuaWNh",
"dG9yT2JqZWN0c2IGcHJvdG8z"));
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.AgentInfoProtoReflection.Descriptor, },
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.AgentInfoReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLOutput), global::MLAgents.CommunicatorObjects.UnityRLOutput.Parser, new[]{ "AgentInfos" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto), global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto.Parser, new[]{ "Value" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLOutputProto), global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Parser, new[]{ "AgentInfos" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto), global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto.Parser, new[]{ "Value" }, null, null, null),
null, })
}));
}

#region Messages
public sealed partial class UnityRLOutput : pb::IMessage<UnityRLOutput> {
private static readonly pb::MessageParser<UnityRLOutput> _parser = new pb::MessageParser<UnityRLOutput>(() => new UnityRLOutput());
public sealed partial class UnityRLOutputProto : pb::IMessage<UnityRLOutputProto> {
private static readonly pb::MessageParser<UnityRLOutputProto> _parser = new pb::MessageParser<UnityRLOutputProto>(() => new UnityRLOutputProto());
public static pb::MessageParser<UnityRLOutput> Parser { get { return _parser; } }
public static pb::MessageParser<UnityRLOutputProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public UnityRLOutput() {
public UnityRLOutputProto() {
OnConstruction();
}

public UnityRLOutput(UnityRLOutput other) : this() {
public UnityRLOutputProto(UnityRLOutputProto other) : this() {
public UnityRLOutput Clone() {
return new UnityRLOutput(this);
public UnityRLOutputProto Clone() {
return new UnityRLOutputProto(this);
private static readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto>.Codec _map_agentInfos_codec
= new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto.Parser), 18);
private readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto> agentInfos_ = new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto>();
private static readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto>.Codec _map_agentInfos_codec
= new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto.Parser), 18);
private readonly pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto> agentInfos_ = new pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto>();
public pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutput.Types.ListAgentInfoProto> AgentInfos {
public pbc::MapField<string, global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Types.ListAgentInfoProto> AgentInfos {
return Equals(other as UnityRLOutput);
return Equals(other as UnityRLOutputProto);
public bool Equals(UnityRLOutput other) {
public bool Equals(UnityRLOutputProto other) {
if (ReferenceEquals(other, null)) {
return false;
}

}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(UnityRLOutput other) {
public void MergeFrom(UnityRLOutputProto other) {
if (other == null) {
return;
}

}
#region Nested types
/// <summary>Container for nested types declared in the UnityRLOutput message type.</summary>
/// <summary>Container for nested types declared in the UnityRLOutputProto message type.</summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static partial class Types {
public sealed partial class ListAgentInfoProto : pb::IMessage<ListAgentInfoProto> {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.UnityRLOutput.Descriptor.NestedTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.UnityRLOutputProto.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

8
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityToExternal.cs


"CjptbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3VuaXR5X3Rv",
"X2V4dGVybmFsLnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cxo2bWxhZ2Vu",
"dHMvZW52cy9jb21tdW5pY2F0b3Jfb2JqZWN0cy91bml0eV9tZXNzYWdlLnBy",
"b3RvMmcKD1VuaXR5VG9FeHRlcm5hbBJUCghFeGNoYW5nZRIiLmNvbW11bmlj",
"YXRvcl9vYmplY3RzLlVuaXR5TWVzc2FnZRoiLmNvbW11bmljYXRvcl9vYmpl",
"Y3RzLlVuaXR5TWVzc2FnZSIAQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JP",
"YmplY3RzYgZwcm90bzM="));
"b3RvMnYKFFVuaXR5VG9FeHRlcm5hbFByb3RvEl4KCEV4Y2hhbmdlEicuY29t",
"bXVuaWNhdG9yX29iamVjdHMuVW5pdHlNZXNzYWdlUHJvdG8aJy5jb21tdW5p",
"Y2F0b3Jfb2JqZWN0cy5Vbml0eU1lc3NhZ2VQcm90byIAQh+qAhxNTEFnZW50",
"cy5Db21tdW5pY2F0b3JPYmplY3RzYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.UnityMessageReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null));

48
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/UnityToExternalGrpc.cs


using grpc = global::Grpc.Core;
namespace MLAgents.CommunicatorObjects {
public static partial class UnityToExternal
public static partial class UnityToExternalProto
static readonly string __ServiceName = "communicator_objects.UnityToExternal";
static readonly string __ServiceName = "communicator_objects.UnityToExternalProto";
static readonly grpc::Marshaller<global::MLAgents.CommunicatorObjects.UnityMessage> __Marshaller_communicator_objects_UnityMessage = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::MLAgents.CommunicatorObjects.UnityMessage.Parser.ParseFrom);
static readonly grpc::Marshaller<global::MLAgents.CommunicatorObjects.UnityMessageProto> __Marshaller_communicator_objects_UnityMessageProto = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::MLAgents.CommunicatorObjects.UnityMessageProto.Parser.ParseFrom);
static readonly grpc::Method<global::MLAgents.CommunicatorObjects.UnityMessage, global::MLAgents.CommunicatorObjects.UnityMessage> __Method_Exchange = new grpc::Method<global::MLAgents.CommunicatorObjects.UnityMessage, global::MLAgents.CommunicatorObjects.UnityMessage>(
static readonly grpc::Method<global::MLAgents.CommunicatorObjects.UnityMessageProto, global::MLAgents.CommunicatorObjects.UnityMessageProto> __Method_Exchange = new grpc::Method<global::MLAgents.CommunicatorObjects.UnityMessageProto, global::MLAgents.CommunicatorObjects.UnityMessageProto>(
__Marshaller_communicator_objects_UnityMessage,
__Marshaller_communicator_objects_UnityMessage);
__Marshaller_communicator_objects_UnityMessageProto,
__Marshaller_communicator_objects_UnityMessageProto);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor

/// <summary>Base class for server-side implementations of UnityToExternal</summary>
public abstract partial class UnityToExternalBase
/// <summary>Base class for server-side implementations of UnityToExternalProto</summary>
public abstract partial class UnityToExternalProtoBase
{
/// <summary>
/// Sends the academy parameters

/// <returns>The response to send back to the client (wrapped by a task).</returns>
public virtual global::System.Threading.Tasks.Task<global::MLAgents.CommunicatorObjects.UnityMessage> Exchange(global::MLAgents.CommunicatorObjects.UnityMessage request, grpc::ServerCallContext context)
public virtual global::System.Threading.Tasks.Task<global::MLAgents.CommunicatorObjects.UnityMessageProto> Exchange(global::MLAgents.CommunicatorObjects.UnityMessageProto request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}

/// <summary>Client for UnityToExternal</summary>
public partial class UnityToExternalClient : grpc::ClientBase<UnityToExternalClient>
/// <summary>Client for UnityToExternalProto</summary>
public partial class UnityToExternalProtoClient : grpc::ClientBase<UnityToExternalProtoClient>
/// <summary>Creates a new client for UnityToExternal</summary>
/// <summary>Creates a new client for UnityToExternalProto</summary>
public UnityToExternalClient(grpc::Channel channel) : base(channel)
public UnityToExternalProtoClient(grpc::Channel channel) : base(channel)
/// <summary>Creates a new client for UnityToExternal that uses a custom <c>CallInvoker</c>.</summary>
/// <summary>Creates a new client for UnityToExternalProto that uses a custom <c>CallInvoker</c>.</summary>
public UnityToExternalClient(grpc::CallInvoker callInvoker) : base(callInvoker)
public UnityToExternalProtoClient(grpc::CallInvoker callInvoker) : base(callInvoker)
protected UnityToExternalClient() : base()
protected UnityToExternalProtoClient() : base()
protected UnityToExternalClient(ClientBaseConfiguration configuration) : base(configuration)
protected UnityToExternalProtoClient(ClientBaseConfiguration configuration) : base(configuration)
{
}

/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
public virtual global::MLAgents.CommunicatorObjects.UnityMessage Exchange(global::MLAgents.CommunicatorObjects.UnityMessage request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
public virtual global::MLAgents.CommunicatorObjects.UnityMessageProto Exchange(global::MLAgents.CommunicatorObjects.UnityMessageProto request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Exchange(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}

/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
public virtual global::MLAgents.CommunicatorObjects.UnityMessage Exchange(global::MLAgents.CommunicatorObjects.UnityMessage request, grpc::CallOptions options)
public virtual global::MLAgents.CommunicatorObjects.UnityMessageProto Exchange(global::MLAgents.CommunicatorObjects.UnityMessageProto request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Exchange, null, options, request);
}

/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
public virtual grpc::AsyncUnaryCall<global::MLAgents.CommunicatorObjects.UnityMessage> ExchangeAsync(global::MLAgents.CommunicatorObjects.UnityMessage request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
public virtual grpc::AsyncUnaryCall<global::MLAgents.CommunicatorObjects.UnityMessageProto> ExchangeAsync(global::MLAgents.CommunicatorObjects.UnityMessageProto request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ExchangeAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}

/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
public virtual grpc::AsyncUnaryCall<global::MLAgents.CommunicatorObjects.UnityMessage> ExchangeAsync(global::MLAgents.CommunicatorObjects.UnityMessage request, grpc::CallOptions options)
public virtual grpc::AsyncUnaryCall<global::MLAgents.CommunicatorObjects.UnityMessageProto> ExchangeAsync(global::MLAgents.CommunicatorObjects.UnityMessageProto request, grpc::CallOptions options)
protected override UnityToExternalClient NewInstance(ClientBaseConfiguration configuration)
protected override UnityToExternalProtoClient NewInstance(ClientBaseConfiguration configuration)
return new UnityToExternalClient(configuration);
return new UnityToExternalProtoClient(configuration);
public static grpc::ServerServiceDefinition BindService(UnityToExternalBase serviceImpl)
public static grpc::ServerServiceDefinition BindService(UnityToExternalProtoBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Exchange, serviceImpl.Exchange).Build();

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentAction.cs.meta


fileFormatVersion: 2
guid: 7397bbc10357b4972af34293e72d96d3
guid: b1fa94db54b734224927bb4b322227cd
MonoImporter:
externalObjects: {}
serializedVersion: 2

44
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentInfo.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/agent_info_proto.proto
// source: mlagents/envs/communicator_objects/agent_info.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/agent_info_proto.proto</summary>
public static partial class AgentInfoProtoReflection {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/agent_info.proto</summary>
public static partial class AgentInfoReflection {
/// <summary>File descriptor for mlagents/envs/communicator_objects/agent_info_proto.proto</summary>
/// <summary>File descriptor for mlagents/envs/communicator_objects/agent_info.proto</summary>
static AgentInfoProtoReflection() {
static AgentInfoReflection() {
"CjltbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2FnZW50X2lu",
"Zm9fcHJvdG8ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGjttbGFnZW50",
"cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9vYnNlcnZhdGlv",
"bi5wcm90byLXAgoOQWdlbnRJbmZvUHJvdG8SIgoac3RhY2tlZF92ZWN0b3Jf",
"b2JzZXJ2YXRpb24YASADKAISGwoTdmlzdWFsX29ic2VydmF0aW9ucxgCIAMo",
"DBIYChB0ZXh0X29ic2VydmF0aW9uGAMgASgJEh0KFXN0b3JlZF92ZWN0b3Jf",
"YWN0aW9ucxgEIAMoAhIbChNzdG9yZWRfdGV4dF9hY3Rpb25zGAUgASgJEhAK",
"CG1lbW9yaWVzGAYgAygCEg4KBnJld2FyZBgHIAEoAhIMCgRkb25lGAggASgI",
"EhgKEG1heF9zdGVwX3JlYWNoZWQYCSABKAgSCgoCaWQYCiABKAUSEwoLYWN0",
"aW9uX21hc2sYCyADKAgSQwoSY3VzdG9tX29ic2VydmF0aW9uGAwgASgLMicu",
"Y29tbXVuaWNhdG9yX29iamVjdHMuQ3VzdG9tT2JzZXJ2YXRpb25CH6oCHE1M",
"QWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
"CjNtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2FnZW50X2lu",
"Zm8ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGjttbGFnZW50cy9lbnZz",
"L2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9vYnNlcnZhdGlvbi5wcm90",
"byLcAgoOQWdlbnRJbmZvUHJvdG8SIgoac3RhY2tlZF92ZWN0b3Jfb2JzZXJ2",
"YXRpb24YASADKAISGwoTdmlzdWFsX29ic2VydmF0aW9ucxgCIAMoDBIYChB0",
"ZXh0X29ic2VydmF0aW9uGAMgASgJEh0KFXN0b3JlZF92ZWN0b3JfYWN0aW9u",
"cxgEIAMoAhIbChNzdG9yZWRfdGV4dF9hY3Rpb25zGAUgASgJEhAKCG1lbW9y",
"aWVzGAYgAygCEg4KBnJld2FyZBgHIAEoAhIMCgRkb25lGAggASgIEhgKEG1h",
"eF9zdGVwX3JlYWNoZWQYCSABKAgSCgoCaWQYCiABKAUSEwoLYWN0aW9uX21h",
"c2sYCyADKAgSSAoSY3VzdG9tX29ic2VydmF0aW9uGAwgASgLMiwuY29tbXVu",
"aWNhdG9yX29iamVjdHMuQ3VzdG9tT2JzZXJ2YXRpb25Qcm90b0IfqgIcTUxB",
"Z2VudHMuQ29tbXVuaWNhdG9yT2JqZWN0c2IGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.CustomObservationReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.AgentInfoProtoReflection.Descriptor.MessageTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.AgentInfoReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

/// <summary>Field number for the "custom_observation" field.</summary>
public const int CustomObservationFieldNumber = 12;
private global::MLAgents.CommunicatorObjects.CustomObservation customObservation_;
private global::MLAgents.CommunicatorObjects.CustomObservationProto customObservation_;
public global::MLAgents.CommunicatorObjects.CustomObservation CustomObservation {
public global::MLAgents.CommunicatorObjects.CustomObservationProto CustomObservation {
get { return customObservation_; }
set {
customObservation_ = value;

actionMask_.Add(other.actionMask_);
if (other.customObservation_ != null) {
if (customObservation_ == null) {
customObservation_ = new global::MLAgents.CommunicatorObjects.CustomObservation();
customObservation_ = new global::MLAgents.CommunicatorObjects.CustomObservationProto();
}
CustomObservation.MergeFrom(other.CustomObservation);
}

}
case 98: {
if (customObservation_ == null) {
customObservation_ = new global::MLAgents.CommunicatorObjects.CustomObservation();
customObservation_ = new global::MLAgents.CommunicatorObjects.CustomObservationProto();
}
input.ReadMessage(customObservation_);
break;

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentInfo.cs.meta


fileFormatVersion: 2
guid: 0d095cb8e4b854e73acd0c1504492564
guid: ecaddd3a8141a4854a4d2c7fe8bd6a75
MonoImporter:
externalObjects: {}
serializedVersion: 2

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/BrainParameters.cs.meta


fileFormatVersion: 2
guid: 970de4bdd0ae24d31aaafa1990526d83
guid: 26f9a93df956e4ee88c1cf5f31017f0e
MonoImporter:
externalObjects: {}
serializedVersion: 2

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Command.cs.meta


fileFormatVersion: 2
guid: 79178b095ad724b21b91f187adb4a3e6
guid: 9be6f5025f61540eabbc831436642adc
MonoImporter:
externalObjects: {}
serializedVersion: 2

25
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/DemonstrationMeta.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/demonstration_meta_proto.proto
// source: mlagents/envs/communicator_objects/demonstration_meta.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/demonstration_meta_proto.proto</summary>
public static partial class DemonstrationMetaProtoReflection {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/demonstration_meta.proto</summary>
public static partial class DemonstrationMetaReflection {
/// <summary>File descriptor for mlagents/envs/communicator_objects/demonstration_meta_proto.proto</summary>
/// <summary>File descriptor for mlagents/envs/communicator_objects/demonstration_meta.proto</summary>
static DemonstrationMetaProtoReflection() {
static DemonstrationMetaReflection() {
"CkFtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2RlbW9uc3Ry",
"YXRpb25fbWV0YV9wcm90by5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMi",
"jQEKFkRlbW9uc3RyYXRpb25NZXRhUHJvdG8SEwoLYXBpX3ZlcnNpb24YASAB",
"KAUSGgoSZGVtb25zdHJhdGlvbl9uYW1lGAIgASgJEhQKDG51bWJlcl9zdGVw",
"cxgDIAEoBRIXCg9udW1iZXJfZXBpc29kZXMYBCABKAUSEwoLbWVhbl9yZXdh",
"cmQYBSABKAJCH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnBy",
"b3RvMw=="));
"CjttbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2RlbW9uc3Ry",
"YXRpb25fbWV0YS5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMijQEKFkRl",
"bW9uc3RyYXRpb25NZXRhUHJvdG8SEwoLYXBpX3ZlcnNpb24YASABKAUSGgoS",
"ZGVtb25zdHJhdGlvbl9uYW1lGAIgASgJEhQKDG51bWJlcl9zdGVwcxgDIAEo",
"BRIXCg9udW1iZXJfZXBpc29kZXMYBCABKAUSEwoLbWVhbl9yZXdhcmQYBSAB",
"KAJCH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.DemonstrationMetaProtoReflection.Descriptor.MessageTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.DemonstrationMetaReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/DemonstrationMeta.cs.meta


fileFormatVersion: 2
guid: 7cba96ab3b11045e8a874900b69a0660
guid: 7248e2660150f4a39bb99dfabb9bae7d
MonoImporter:
externalObjects: {}
serializedVersion: 2

26
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EngineConfiguration.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/engine_configuration_proto.proto
// source: mlagents/envs/communicator_objects/engine_configuration.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/engine_configuration_proto.proto</summary>
public static partial class EngineConfigurationProtoReflection {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/engine_configuration.proto</summary>
public static partial class EngineConfigurationReflection {
/// <summary>File descriptor for mlagents/envs/communicator_objects/engine_configuration_proto.proto</summary>
/// <summary>File descriptor for mlagents/envs/communicator_objects/engine_configuration.proto</summary>
static EngineConfigurationProtoReflection() {
static EngineConfigurationReflection() {
"CkNtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2VuZ2luZV9j",
"b25maWd1cmF0aW9uX3Byb3RvLnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0",
"cyKVAQoYRW5naW5lQ29uZmlndXJhdGlvblByb3RvEg0KBXdpZHRoGAEgASgF",
"Eg4KBmhlaWdodBgCIAEoBRIVCg1xdWFsaXR5X2xldmVsGAMgASgFEhIKCnRp",
"bWVfc2NhbGUYBCABKAISGQoRdGFyZ2V0X2ZyYW1lX3JhdGUYBSABKAUSFAoM",
"c2hvd19tb25pdG9yGAYgASgIQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JP",
"YmplY3RzYgZwcm90bzM="));
"Cj1tbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2VuZ2luZV9j",
"b25maWd1cmF0aW9uLnByb3RvEhRjb21tdW5pY2F0b3Jfb2JqZWN0cyKVAQoY",
"RW5naW5lQ29uZmlndXJhdGlvblByb3RvEg0KBXdpZHRoGAEgASgFEg4KBmhl",
"aWdodBgCIAEoBRIVCg1xdWFsaXR5X2xldmVsGAMgASgFEhIKCnRpbWVfc2Nh",
"bGUYBCABKAISGQoRdGFyZ2V0X2ZyYW1lX3JhdGUYBSABKAUSFAoMc2hvd19t",
"b25pdG9yGAYgASgIQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmplY3Rz",
"YgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.EngineConfigurationProtoReflection.Descriptor.MessageTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.EngineConfigurationReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EngineConfiguration.cs.meta


fileFormatVersion: 2
guid: 90f4d8da1dacf4844a9fdf36c368e2b7
guid: 129a5bbec69fc4f42bc70e422660c8f0
MonoImporter:
externalObjects: {}
serializedVersion: 2

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EnvironmentParameters.cs.meta


fileFormatVersion: 2
guid: 45cb126d422a348f1af0a80b9a3b591f
guid: 8b4c58a64d6a94f579774322ef683b17
MonoImporter:
externalObjects: {}
serializedVersion: 2

22
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Resolution.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/resolution_proto.proto
// source: mlagents/envs/communicator_objects/resolution.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/resolution_proto.proto</summary>
public static partial class ResolutionProtoReflection {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/resolution.proto</summary>
public static partial class ResolutionReflection {
/// <summary>File descriptor for mlagents/envs/communicator_objects/resolution_proto.proto</summary>
/// <summary>File descriptor for mlagents/envs/communicator_objects/resolution.proto</summary>
static ResolutionProtoReflection() {
static ResolutionReflection() {
"CjltbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3Jlc29sdXRp",
"b25fcHJvdG8ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzIkQKD1Jlc29s",
"dXRpb25Qcm90bxINCgV3aWR0aBgBIAEoBRIOCgZoZWlnaHQYAiABKAUSEgoK",
"Z3JheV9zY2FsZRgDIAEoCEIfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9yT2Jq",
"ZWN0c2IGcHJvdG8z"));
"CjNtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3Jlc29sdXRp",
"b24ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzIkQKD1Jlc29sdXRpb25Q",
"cm90bxINCgV3aWR0aBgBIAEoBRIOCgZoZWlnaHQYAiABKAUSEgoKZ3JheV9z",
"Y2FsZRgDIAEoCEIfqgIcTUxBZ2VudHMuQ29tbXVuaWNhdG9yT2JqZWN0c2IG",
"cHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {

[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.ResolutionProtoReflection.Descriptor.MessageTypes[0]; }
get { return global::MLAgents.CommunicatorObjects.ResolutionReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]

2
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceType.cs.meta


fileFormatVersion: 2
guid: c586cad5c95d54841a36c0f74ea95071
guid: 3934602aadbe9471ca973685059ef04a
MonoImporter:
externalObjects: {}
serializedVersion: 2

19
UnitySDK/Assets/ML-Agents/Scripts/Grpc/RpcCommunicator.cs


# if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_STANDALONE_LINUX
/// The Unity to External client.
UnityToExternal.UnityToExternalClient m_Client;
UnityToExternalProto.UnityToExternalProtoClient m_Client;
/// <summary>
/// Initializes a new instance of the RPCCommunicator class.
/// </summary>

m_CommunicatorParameters = communicatorParameters;
}
/// <summary>
/// Initialize the communicator by sending the first UnityOutput and receiving the
/// first UnityInput. The second UnityInput is stored in the unityInput argument.

/// <param name="unityInput">The second Unity input.</param>
public UnityInput Initialize(UnityOutput unityOutput,
out UnityInput unityInput)
public UnityInputProto Initialize(UnityOutputProto unityOutput,
out UnityInputProto unityInput)
{
# if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_STANDALONE_LINUX
m_IsOpen = true;

m_Client = new UnityToExternal.UnityToExternalClient(channel);
m_Client = new UnityToExternalProto.UnityToExternalProtoClient(channel);
var result = m_Client.Exchange(WrapMessage(unityOutput, 200));
unityInput = m_Client.Exchange(WrapMessage(null, 200)).UnityInput;
#if UNITY_EDITOR

/// </summary>
/// <returns>The next UnityInput.</returns>
/// <param name="unityOutput">The UnityOutput to be sent.</param>
public UnityInput Exchange(UnityOutput unityOutput)
public UnityInputProto Exchange(UnityOutputProto unityOutput)
{
# if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX || UNITY_STANDALONE_LINUX
if (!m_IsOpen)

/// <returns>The UnityMessage corresponding.</returns>
/// <param name="content">The UnityOutput to be wrapped.</param>
/// <param name="status">The status of the message.</param>
private static UnityMessage WrapMessage(UnityOutput content, int status)
private static UnityMessageProto WrapMessage(UnityOutputProto content, int status)
return new UnityMessage
return new UnityMessageProto
Header = new Header { Status = status },
Header = new HeaderProto { Status = status },
UnityOutput = content
};
}

6
UnitySDK/Assets/ML-Agents/Scripts/ICommunicator.cs


/// <returns>The first Unity Input.</returns>
/// <param name="unityOutput">The first Unity Output.</param>
/// <param name="unityInput">The second Unity input.</param>
UnityInput Initialize(UnityOutput unityOutput,
out UnityInput unityInput);
UnityInputProto Initialize(UnityOutputProto unityOutput,
out UnityInputProto unityInput);
/// <summary>
/// Send a UnityOutput and receives a UnityInput.

UnityInput Exchange(UnityOutput unityOutput);
UnityInputProto Exchange(UnityOutputProto unityOutput);
/// <summary>
/// Close the communicator gracefully on both sides of the communication.

18
UnitySDK/Assets/ML-Agents/Scripts/SocketCommunicator.cs


/// <returns>The first Unity Input.</returns>
/// <param name="unityOutput">The first Unity Output.</param>
/// <param name="unityInput">The second Unity input.</param>
public UnityInput Initialize(UnityOutput unityOutput,
out UnityInput unityInput)
public UnityInputProto Initialize(UnityOutputProto unityOutput,
out UnityInputProto unityInput)
{
m_Sender = new Socket(
AddressFamily.InterNetwork,

var initializationInput =
UnityMessage.Parser.ParseFrom(Receive());
UnityMessageProto.Parser.ParseFrom(Receive());
unityInput = UnityMessage.Parser.ParseFrom(Receive()).UnityInput;
unityInput = UnityMessageProto.Parser.ParseFrom(Receive()).UnityInput;
#if UNITY_EDITOR
#if UNITY_2017_2_OR_NEWER
EditorApplication.playModeStateChanged += HandleOnPlayModeChanged;

/// </summary>
/// <returns>The next UnityInput.</returns>
/// <param name="unityOutput">The UnityOutput to be sent.</param>
public UnityInput Exchange(UnityOutput unityOutput)
public UnityInputProto Exchange(UnityOutputProto unityOutput)
{
Send(WrapMessage(unityOutput, 200).ToByteArray());
byte[] received = null;

"The communicator took too long to respond.");
}
var message = UnityMessage.Parser.ParseFrom(received);
var message = UnityMessageProto.Parser.ParseFrom(received);
if (message.Header.Status != 200)
{

/// <returns>The UnityMessage corresponding.</returns>
/// <param name="content">The UnityOutput to be wrapped.</param>
/// <param name="status">The status of the message.</param>
private static UnityMessage WrapMessage(UnityOutput content, int status)
private static UnityMessageProto WrapMessage(UnityOutputProto content, int status)
return new UnityMessage
return new UnityMessageProto
Header = new Header { Status = status },
Header = new HeaderProto { Status = status },
UnityOutput = content
};
}

6
ml-agents-envs/mlagents/envs/brain.py


import numpy as np
import io
from mlagents.envs.communicator_objects.agent_info_proto_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.brain_parameters_proto_pb2 import (
BrainParametersProto,
)
from mlagents.envs.communicator_objects.agent_info_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.brain_parameters_pb2 import BrainParametersProto
from mlagents.envs.timers import hierarchical_timer, timed
from typing import Dict, List, Optional
from PIL import Image

8
ml-agents-envs/mlagents/envs/communicator.py


import logging
from typing import Optional
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutput
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInput
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutputProto
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInputProto
logger = logging.getLogger("mlagents.envs")

:int worker_id: Number to add to communication port (5005) [0]. Used for asynchronous agent scenarios.
"""
def initialize(self, inputs: UnityInput) -> UnityOutput:
def initialize(self, inputs: UnityInputProto) -> UnityOutputProto:
"""
Used to exchange initialization parameters between Python and the Environment
:param inputs: The initialization input that will be sent to the environment.

def exchange(self, inputs: UnityInput) -> Optional[UnityOutput]:
def exchange(self, inputs: UnityInputProto) -> Optional[UnityOutputProto]:
"""
Used to send an input and receive an output from the Environment
:param inputs: The UnityInput that needs to be sent the Environment

20
ml-agents-envs/mlagents/envs/communicator_objects/custom_action_pb2.py


name='mlagents/envs/communicator_objects/custom_action.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n6mlagents/envs/communicator_objects/custom_action.proto\x12\x14\x63ommunicator_objects\"\x0e\n\x0c\x43ustomActionB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n6mlagents/envs/communicator_objects/custom_action.proto\x12\x14\x63ommunicator_objects\"\x13\n\x11\x43ustomActionProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
_CUSTOMACTION = _descriptor.Descriptor(
name='CustomAction',
full_name='communicator_objects.CustomAction',
_CUSTOMACTIONPROTO = _descriptor.Descriptor(
name='CustomActionProto',
full_name='communicator_objects.CustomActionProto',
filename=None,
file=DESCRIPTOR,
containing_type=None,

oneofs=[
],
serialized_start=80,
serialized_end=94,
serialized_end=99,
DESCRIPTOR.message_types_by_name['CustomAction'] = _CUSTOMACTION
DESCRIPTOR.message_types_by_name['CustomActionProto'] = _CUSTOMACTIONPROTO
CustomAction = _reflection.GeneratedProtocolMessageType('CustomAction', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMACTION,
CustomActionProto = _reflection.GeneratedProtocolMessageType('CustomActionProto', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMACTIONPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.CustomAction)
# @@protoc_insertion_point(class_scope:communicator_objects.CustomActionProto)
_sym_db.RegisterMessage(CustomAction)
_sym_db.RegisterMessage(CustomActionProto)
DESCRIPTOR.has_options = True

4
ml-agents-envs/mlagents/envs/communicator_objects/custom_action_pb2.pyi


)
class CustomAction(google___protobuf___message___Message):
class CustomActionProto(google___protobuf___message___Message):
def FromString(cls, s: bytes) -> CustomAction: ...
def FromString(cls, s: bytes) -> CustomActionProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

20
ml-agents-envs/mlagents/envs/communicator_objects/custom_observation_pb2.py


name='mlagents/envs/communicator_objects/custom_observation.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n;mlagents/envs/communicator_objects/custom_observation.proto\x12\x14\x63ommunicator_objects\"\x13\n\x11\x43ustomObservationB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n;mlagents/envs/communicator_objects/custom_observation.proto\x12\x14\x63ommunicator_objects\"\x18\n\x16\x43ustomObservationProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
_CUSTOMOBSERVATION = _descriptor.Descriptor(
name='CustomObservation',
full_name='communicator_objects.CustomObservation',
_CUSTOMOBSERVATIONPROTO = _descriptor.Descriptor(
name='CustomObservationProto',
full_name='communicator_objects.CustomObservationProto',
filename=None,
file=DESCRIPTOR,
containing_type=None,

oneofs=[
],
serialized_start=85,
serialized_end=104,
serialized_end=109,
DESCRIPTOR.message_types_by_name['CustomObservation'] = _CUSTOMOBSERVATION
DESCRIPTOR.message_types_by_name['CustomObservationProto'] = _CUSTOMOBSERVATIONPROTO
CustomObservation = _reflection.GeneratedProtocolMessageType('CustomObservation', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMOBSERVATION,
CustomObservationProto = _reflection.GeneratedProtocolMessageType('CustomObservationProto', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMOBSERVATIONPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.CustomObservation)
# @@protoc_insertion_point(class_scope:communicator_objects.CustomObservationProto)
_sym_db.RegisterMessage(CustomObservation)
_sym_db.RegisterMessage(CustomObservationProto)
DESCRIPTOR.has_options = True

4
ml-agents-envs/mlagents/envs/communicator_objects/custom_observation_pb2.pyi


)
class CustomObservation(google___protobuf___message___Message):
class CustomObservationProto(google___protobuf___message___Message):
def FromString(cls, s: bytes) -> CustomObservation: ...
def FromString(cls, s: bytes) -> CustomObservationProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

20
ml-agents-envs/mlagents/envs/communicator_objects/custom_reset_parameters_pb2.py


name='mlagents/envs/communicator_objects/custom_reset_parameters.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n@mlagents/envs/communicator_objects/custom_reset_parameters.proto\x12\x14\x63ommunicator_objects\"\x17\n\x15\x43ustomResetParametersB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n@mlagents/envs/communicator_objects/custom_reset_parameters.proto\x12\x14\x63ommunicator_objects\"\x1c\n\x1a\x43ustomResetParametersProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
_CUSTOMRESETPARAMETERS = _descriptor.Descriptor(
name='CustomResetParameters',
full_name='communicator_objects.CustomResetParameters',
_CUSTOMRESETPARAMETERSPROTO = _descriptor.Descriptor(
name='CustomResetParametersProto',
full_name='communicator_objects.CustomResetParametersProto',
filename=None,
file=DESCRIPTOR,
containing_type=None,

oneofs=[
],
serialized_start=90,
serialized_end=113,
serialized_end=118,
DESCRIPTOR.message_types_by_name['CustomResetParameters'] = _CUSTOMRESETPARAMETERS
DESCRIPTOR.message_types_by_name['CustomResetParametersProto'] = _CUSTOMRESETPARAMETERSPROTO
CustomResetParameters = _reflection.GeneratedProtocolMessageType('CustomResetParameters', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMRESETPARAMETERS,
CustomResetParametersProto = _reflection.GeneratedProtocolMessageType('CustomResetParametersProto', (_message.Message,), dict(
DESCRIPTOR = _CUSTOMRESETPARAMETERSPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.CustomResetParameters)
# @@protoc_insertion_point(class_scope:communicator_objects.CustomResetParametersProto)
_sym_db.RegisterMessage(CustomResetParameters)
_sym_db.RegisterMessage(CustomResetParametersProto)
DESCRIPTOR.has_options = True

4
ml-agents-envs/mlagents/envs/communicator_objects/custom_reset_parameters_pb2.pyi


)
class CustomResetParameters(google___protobuf___message___Message):
class CustomResetParametersProto(google___protobuf___message___Message):
def FromString(cls, s: bytes) -> CustomResetParameters: ...
def FromString(cls, s: bytes) -> CustomResetParametersProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

24
ml-agents-envs/mlagents/envs/communicator_objects/header_pb2.py


name='mlagents/envs/communicator_objects/header.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n/mlagents/envs/communicator_objects/header.proto\x12\x14\x63ommunicator_objects\")\n\x06Header\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\tB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n/mlagents/envs/communicator_objects/header.proto\x12\x14\x63ommunicator_objects\".\n\x0bHeaderProto\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\tB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
_HEADER = _descriptor.Descriptor(
name='Header',
full_name='communicator_objects.Header',
_HEADERPROTO = _descriptor.Descriptor(
name='HeaderProto',
full_name='communicator_objects.HeaderProto',
name='status', full_name='communicator_objects.Header.status', index=0,
name='status', full_name='communicator_objects.HeaderProto.status', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,

name='message', full_name='communicator_objects.Header.message', index=1,
name='message', full_name='communicator_objects.HeaderProto.message', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

oneofs=[
],
serialized_start=73,
serialized_end=114,
serialized_end=119,
DESCRIPTOR.message_types_by_name['Header'] = _HEADER
DESCRIPTOR.message_types_by_name['HeaderProto'] = _HEADERPROTO
Header = _reflection.GeneratedProtocolMessageType('Header', (_message.Message,), dict(
DESCRIPTOR = _HEADER,
HeaderProto = _reflection.GeneratedProtocolMessageType('HeaderProto', (_message.Message,), dict(
DESCRIPTOR = _HEADERPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.Header)
# @@protoc_insertion_point(class_scope:communicator_objects.HeaderProto)
_sym_db.RegisterMessage(Header)
_sym_db.RegisterMessage(HeaderProto)
DESCRIPTOR.has_options = True

4
ml-agents-envs/mlagents/envs/communicator_objects/header_pb2.pyi


)
class Header(google___protobuf___message___Message):
class HeaderProto(google___protobuf___message___Message):
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
status = ... # type: int
message = ... # type: typing___Text

message : typing___Optional[typing___Text] = None,
) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> Header: ...
def FromString(cls, s: bytes) -> HeaderProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

28
ml-agents-envs/mlagents/envs/communicator_objects/unity_input_pb2.py


name='mlagents/envs/communicator_objects/unity_input.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n4mlagents/envs/communicator_objects/unity_input.proto\x12\x14\x63ommunicator_objects\x1a\x37mlagents/envs/communicator_objects/unity_rl_input.proto\x1a\x46mlagents/envs/communicator_objects/unity_rl_initialization_input.proto\"\x95\x01\n\nUnityInput\x12\x34\n\x08rl_input\x18\x01 \x01(\x0b\x32\".communicator_objects.UnityRLInput\x12Q\n\x17rl_initialization_input\x18\x02 \x01(\x0b\x32\x30.communicator_objects.UnityRLInitializationInputB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n4mlagents/envs/communicator_objects/unity_input.proto\x12\x14\x63ommunicator_objects\x1a\x37mlagents/envs/communicator_objects/unity_rl_input.proto\x1a\x46mlagents/envs/communicator_objects/unity_rl_initialization_input.proto\"\xa4\x01\n\x0fUnityInputProto\x12\x39\n\x08rl_input\x18\x01 \x01(\x0b\x32\'.communicator_objects.UnityRLInputProto\x12V\n\x17rl_initialization_input\x18\x02 \x01(\x0b\x32\x35.communicator_objects.UnityRLInitializationInputProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__input__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__input__pb2.DESCRIPTOR,])

_UNITYINPUT = _descriptor.Descriptor(
name='UnityInput',
full_name='communicator_objects.UnityInput',
_UNITYINPUTPROTO = _descriptor.Descriptor(
name='UnityInputProto',
full_name='communicator_objects.UnityInputProto',
name='rl_input', full_name='communicator_objects.UnityInput.rl_input', index=0,
name='rl_input', full_name='communicator_objects.UnityInputProto.rl_input', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

name='rl_initialization_input', full_name='communicator_objects.UnityInput.rl_initialization_input', index=1,
name='rl_initialization_input', full_name='communicator_objects.UnityInputProto.rl_initialization_input', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

oneofs=[
],
serialized_start=208,
serialized_end=357,
serialized_end=372,
_UNITYINPUT.fields_by_name['rl_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__input__pb2._UNITYRLINPUT
_UNITYINPUT.fields_by_name['rl_initialization_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__input__pb2._UNITYRLINITIALIZATIONINPUT
DESCRIPTOR.message_types_by_name['UnityInput'] = _UNITYINPUT
_UNITYINPUTPROTO.fields_by_name['rl_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__input__pb2._UNITYRLINPUTPROTO
_UNITYINPUTPROTO.fields_by_name['rl_initialization_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__input__pb2._UNITYRLINITIALIZATIONINPUTPROTO
DESCRIPTOR.message_types_by_name['UnityInputProto'] = _UNITYINPUTPROTO
UnityInput = _reflection.GeneratedProtocolMessageType('UnityInput', (_message.Message,), dict(
DESCRIPTOR = _UNITYINPUT,
UnityInputProto = _reflection.GeneratedProtocolMessageType('UnityInputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYINPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityInput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityInputProto)
_sym_db.RegisterMessage(UnityInput)
_sym_db.RegisterMessage(UnityInputProto)
DESCRIPTOR.has_options = True

16
ml-agents-envs/mlagents/envs/communicator_objects/unity_input_pb2.pyi


)
from mlagents.envs.communicator_objects.unity_rl_initialization_input_pb2 import (
UnityRLInitializationInput as mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInput,
UnityRLInitializationInputProto as mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInputProto,
UnityRLInput as mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInput,
UnityRLInputProto as mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInputProto,
)
from typing import (

)
class UnityInput(google___protobuf___message___Message):
class UnityInputProto(google___protobuf___message___Message):
def rl_input(self) -> mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInput: ...
def rl_input(self) -> mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInputProto: ...
def rl_initialization_input(self) -> mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInput: ...
def rl_initialization_input(self) -> mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInputProto: ...
rl_input : typing___Optional[mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInput] = None,
rl_initialization_input : typing___Optional[mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInput] = None,
rl_input : typing___Optional[mlagents___envs___communicator_objects___unity_rl_input_pb2___UnityRLInputProto] = None,
rl_initialization_input : typing___Optional[mlagents___envs___communicator_objects___unity_rl_initialization_input_pb2___UnityRLInitializationInputProto] = None,
def FromString(cls, s: bytes) -> UnityInput: ...
def FromString(cls, s: bytes) -> UnityInputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

32
ml-agents-envs/mlagents/envs/communicator_objects/unity_message_pb2.py


name='mlagents/envs/communicator_objects/unity_message.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n6mlagents/envs/communicator_objects/unity_message.proto\x12\x14\x63ommunicator_objects\x1a\x35mlagents/envs/communicator_objects/unity_output.proto\x1a\x34mlagents/envs/communicator_objects/unity_input.proto\x1a/mlagents/envs/communicator_objects/header.proto\"\xac\x01\n\x0cUnityMessage\x12,\n\x06header\x18\x01 \x01(\x0b\x32\x1c.communicator_objects.Header\x12\x37\n\x0cunity_output\x18\x02 \x01(\x0b\x32!.communicator_objects.UnityOutput\x12\x35\n\x0bunity_input\x18\x03 \x01(\x0b\x32 .communicator_objects.UnityInputB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n6mlagents/envs/communicator_objects/unity_message.proto\x12\x14\x63ommunicator_objects\x1a\x35mlagents/envs/communicator_objects/unity_output.proto\x1a\x34mlagents/envs/communicator_objects/unity_input.proto\x1a/mlagents/envs/communicator_objects/header.proto\"\xc0\x01\n\x11UnityMessageProto\x12\x31\n\x06header\x18\x01 \x01(\x0b\x32!.communicator_objects.HeaderProto\x12<\n\x0cunity_output\x18\x02 \x01(\x0b\x32&.communicator_objects.UnityOutputProto\x12:\n\x0bunity_input\x18\x03 \x01(\x0b\x32%.communicator_objects.UnityInputProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_unity__output__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_unity__input__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_header__pb2.DESCRIPTOR,])

_UNITYMESSAGE = _descriptor.Descriptor(
name='UnityMessage',
full_name='communicator_objects.UnityMessage',
_UNITYMESSAGEPROTO = _descriptor.Descriptor(
name='UnityMessageProto',
full_name='communicator_objects.UnityMessageProto',
name='header', full_name='communicator_objects.UnityMessage.header', index=0,
name='header', full_name='communicator_objects.UnityMessageProto.header', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

name='unity_output', full_name='communicator_objects.UnityMessage.unity_output', index=1,
name='unity_output', full_name='communicator_objects.UnityMessageProto.unity_output', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

name='unity_input', full_name='communicator_objects.UnityMessage.unity_input', index=2,
name='unity_input', full_name='communicator_objects.UnityMessageProto.unity_input', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

oneofs=[
],
serialized_start=239,
serialized_end=411,
serialized_end=431,
_UNITYMESSAGE.fields_by_name['header'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_header__pb2._HEADER
_UNITYMESSAGE.fields_by_name['unity_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__output__pb2._UNITYOUTPUT
_UNITYMESSAGE.fields_by_name['unity_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__input__pb2._UNITYINPUT
DESCRIPTOR.message_types_by_name['UnityMessage'] = _UNITYMESSAGE
_UNITYMESSAGEPROTO.fields_by_name['header'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_header__pb2._HEADERPROTO
_UNITYMESSAGEPROTO.fields_by_name['unity_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__output__pb2._UNITYOUTPUTPROTO
_UNITYMESSAGEPROTO.fields_by_name['unity_input'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__input__pb2._UNITYINPUTPROTO
DESCRIPTOR.message_types_by_name['UnityMessageProto'] = _UNITYMESSAGEPROTO
UnityMessage = _reflection.GeneratedProtocolMessageType('UnityMessage', (_message.Message,), dict(
DESCRIPTOR = _UNITYMESSAGE,
UnityMessageProto = _reflection.GeneratedProtocolMessageType('UnityMessageProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYMESSAGEPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityMessage)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityMessageProto)
_sym_db.RegisterMessage(UnityMessage)
_sym_db.RegisterMessage(UnityMessageProto)
DESCRIPTOR.has_options = True

22
ml-agents-envs/mlagents/envs/communicator_objects/unity_message_pb2.pyi


)
from mlagents.envs.communicator_objects.header_pb2 import (
Header as mlagents___envs___communicator_objects___header_pb2___Header,
HeaderProto as mlagents___envs___communicator_objects___header_pb2___HeaderProto,
UnityInput as mlagents___envs___communicator_objects___unity_input_pb2___UnityInput,
UnityInputProto as mlagents___envs___communicator_objects___unity_input_pb2___UnityInputProto,
UnityOutput as mlagents___envs___communicator_objects___unity_output_pb2___UnityOutput,
UnityOutputProto as mlagents___envs___communicator_objects___unity_output_pb2___UnityOutputProto,
)
from typing import (

)
class UnityMessage(google___protobuf___message___Message):
class UnityMessageProto(google___protobuf___message___Message):
def header(self) -> mlagents___envs___communicator_objects___header_pb2___Header: ...
def header(self) -> mlagents___envs___communicator_objects___header_pb2___HeaderProto: ...
def unity_output(self) -> mlagents___envs___communicator_objects___unity_output_pb2___UnityOutput: ...
def unity_output(self) -> mlagents___envs___communicator_objects___unity_output_pb2___UnityOutputProto: ...
def unity_input(self) -> mlagents___envs___communicator_objects___unity_input_pb2___UnityInput: ...
def unity_input(self) -> mlagents___envs___communicator_objects___unity_input_pb2___UnityInputProto: ...
header : typing___Optional[mlagents___envs___communicator_objects___header_pb2___Header] = None,
unity_output : typing___Optional[mlagents___envs___communicator_objects___unity_output_pb2___UnityOutput] = None,
unity_input : typing___Optional[mlagents___envs___communicator_objects___unity_input_pb2___UnityInput] = None,
header : typing___Optional[mlagents___envs___communicator_objects___header_pb2___HeaderProto] = None,
unity_output : typing___Optional[mlagents___envs___communicator_objects___unity_output_pb2___UnityOutputProto] = None,
unity_input : typing___Optional[mlagents___envs___communicator_objects___unity_input_pb2___UnityInputProto] = None,
def FromString(cls, s: bytes) -> UnityMessage: ...
def FromString(cls, s: bytes) -> UnityMessageProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

28
ml-agents-envs/mlagents/envs/communicator_objects/unity_output_pb2.py


name='mlagents/envs/communicator_objects/unity_output.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n5mlagents/envs/communicator_objects/unity_output.proto\x12\x14\x63ommunicator_objects\x1a\x38mlagents/envs/communicator_objects/unity_rl_output.proto\x1aGmlagents/envs/communicator_objects/unity_rl_initialization_output.proto\"\x9a\x01\n\x0bUnityOutput\x12\x36\n\trl_output\x18\x01 \x01(\x0b\x32#.communicator_objects.UnityRLOutput\x12S\n\x18rl_initialization_output\x18\x02 \x01(\x0b\x32\x31.communicator_objects.UnityRLInitializationOutputB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n5mlagents/envs/communicator_objects/unity_output.proto\x12\x14\x63ommunicator_objects\x1a\x38mlagents/envs/communicator_objects/unity_rl_output.proto\x1aGmlagents/envs/communicator_objects/unity_rl_initialization_output.proto\"\xa9\x01\n\x10UnityOutputProto\x12;\n\trl_output\x18\x01 \x01(\x0b\x32(.communicator_objects.UnityRLOutputProto\x12X\n\x18rl_initialization_output\x18\x02 \x01(\x0b\x32\x36.communicator_objects.UnityRLInitializationOutputProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__output__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__output__pb2.DESCRIPTOR,])

_UNITYOUTPUT = _descriptor.Descriptor(
name='UnityOutput',
full_name='communicator_objects.UnityOutput',
_UNITYOUTPUTPROTO = _descriptor.Descriptor(
name='UnityOutputProto',
full_name='communicator_objects.UnityOutputProto',
name='rl_output', full_name='communicator_objects.UnityOutput.rl_output', index=0,
name='rl_output', full_name='communicator_objects.UnityOutputProto.rl_output', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

name='rl_initialization_output', full_name='communicator_objects.UnityOutput.rl_initialization_output', index=1,
name='rl_initialization_output', full_name='communicator_objects.UnityOutputProto.rl_initialization_output', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

oneofs=[
],
serialized_start=211,
serialized_end=365,
serialized_end=380,
_UNITYOUTPUT.fields_by_name['rl_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__output__pb2._UNITYRLOUTPUT
_UNITYOUTPUT.fields_by_name['rl_initialization_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__output__pb2._UNITYRLINITIALIZATIONOUTPUT
DESCRIPTOR.message_types_by_name['UnityOutput'] = _UNITYOUTPUT
_UNITYOUTPUTPROTO.fields_by_name['rl_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__output__pb2._UNITYRLOUTPUTPROTO
_UNITYOUTPUTPROTO.fields_by_name['rl_initialization_output'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_unity__rl__initialization__output__pb2._UNITYRLINITIALIZATIONOUTPUTPROTO
DESCRIPTOR.message_types_by_name['UnityOutputProto'] = _UNITYOUTPUTPROTO
UnityOutput = _reflection.GeneratedProtocolMessageType('UnityOutput', (_message.Message,), dict(
DESCRIPTOR = _UNITYOUTPUT,
UnityOutputProto = _reflection.GeneratedProtocolMessageType('UnityOutputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYOUTPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityOutput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityOutputProto)
_sym_db.RegisterMessage(UnityOutput)
_sym_db.RegisterMessage(UnityOutputProto)
DESCRIPTOR.has_options = True

16
ml-agents-envs/mlagents/envs/communicator_objects/unity_output_pb2.pyi


)
from mlagents.envs.communicator_objects.unity_rl_initialization_output_pb2 import (
UnityRLInitializationOutput as mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutput,
UnityRLInitializationOutputProto as mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutputProto,
UnityRLOutput as mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutput,
UnityRLOutputProto as mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutputProto,
)
from typing import (

)
class UnityOutput(google___protobuf___message___Message):
class UnityOutputProto(google___protobuf___message___Message):
def rl_output(self) -> mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutput: ...
def rl_output(self) -> mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutputProto: ...
def rl_initialization_output(self) -> mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutput: ...
def rl_initialization_output(self) -> mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutputProto: ...
rl_output : typing___Optional[mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutput] = None,
rl_initialization_output : typing___Optional[mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutput] = None,
rl_output : typing___Optional[mlagents___envs___communicator_objects___unity_rl_output_pb2___UnityRLOutputProto] = None,
rl_initialization_output : typing___Optional[mlagents___envs___communicator_objects___unity_rl_initialization_output_pb2___UnityRLInitializationOutputProto] = None,
def FromString(cls, s: bytes) -> UnityOutput: ...
def FromString(cls, s: bytes) -> UnityOutputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

22
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_input_pb2.py


name='mlagents/envs/communicator_objects/unity_rl_initialization_input.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\nFmlagents/envs/communicator_objects/unity_rl_initialization_input.proto\x12\x14\x63ommunicator_objects\"*\n\x1aUnityRLInitializationInput\x12\x0c\n\x04seed\x18\x01 \x01(\x05\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\nFmlagents/envs/communicator_objects/unity_rl_initialization_input.proto\x12\x14\x63ommunicator_objects\"/\n\x1fUnityRLInitializationInputProto\x12\x0c\n\x04seed\x18\x01 \x01(\x05\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
_UNITYRLINITIALIZATIONINPUT = _descriptor.Descriptor(
name='UnityRLInitializationInput',
full_name='communicator_objects.UnityRLInitializationInput',
_UNITYRLINITIALIZATIONINPUTPROTO = _descriptor.Descriptor(
name='UnityRLInitializationInputProto',
full_name='communicator_objects.UnityRLInitializationInputProto',
name='seed', full_name='communicator_objects.UnityRLInitializationInput.seed', index=0,
name='seed', full_name='communicator_objects.UnityRLInitializationInputProto.seed', index=0,
number=1, type=5, cpp_type=1, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,

oneofs=[
],
serialized_start=96,
serialized_end=138,
serialized_end=143,
DESCRIPTOR.message_types_by_name['UnityRLInitializationInput'] = _UNITYRLINITIALIZATIONINPUT
DESCRIPTOR.message_types_by_name['UnityRLInitializationInputProto'] = _UNITYRLINITIALIZATIONINPUTPROTO
UnityRLInitializationInput = _reflection.GeneratedProtocolMessageType('UnityRLInitializationInput', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLINITIALIZATIONINPUT,
UnityRLInitializationInputProto = _reflection.GeneratedProtocolMessageType('UnityRLInitializationInputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLINITIALIZATIONINPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInitializationInput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInitializationInputProto)
_sym_db.RegisterMessage(UnityRLInitializationInput)
_sym_db.RegisterMessage(UnityRLInitializationInputProto)
DESCRIPTOR.has_options = True

4
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_input_pb2.pyi


)
class UnityRLInitializationInput(google___protobuf___message___Message):
class UnityRLInitializationInputProto(google___protobuf___message___Message):
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
seed = ... # type: int

) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> UnityRLInitializationInput: ...
def FromString(cls, s: bytes) -> UnityRLInitializationInputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

42
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_output_pb2.py


_sym_db = _symbol_database.Default()
from mlagents.envs.communicator_objects import brain_parameters_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__proto__pb2
from mlagents.envs.communicator_objects import environment_parameters_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2
from mlagents.envs.communicator_objects import brain_parameters_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__pb2
from mlagents.envs.communicator_objects import environment_parameters_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2
DESCRIPTOR = _descriptor.FileDescriptor(

serialized_pb=_b('\nGmlagents/envs/communicator_objects/unity_rl_initialization_output.proto\x12\x14\x63ommunicator_objects\x1a?mlagents/envs/communicator_objects/brain_parameters_proto.proto\x1a\x45mlagents/envs/communicator_objects/environment_parameters_proto.proto\"\xe6\x01\n\x1bUnityRLInitializationOutput\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08log_path\x18\x03 \x01(\t\x12\x44\n\x10\x62rain_parameters\x18\x05 \x03(\x0b\x32*.communicator_objects.BrainParametersProto\x12P\n\x16\x65nvironment_parameters\x18\x06 \x01(\x0b\x32\x30.communicator_objects.EnvironmentParametersProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\nGmlagents/envs/communicator_objects/unity_rl_initialization_output.proto\x12\x14\x63ommunicator_objects\x1a\x39mlagents/envs/communicator_objects/brain_parameters.proto\x1a?mlagents/envs/communicator_objects/environment_parameters.proto\"\xeb\x01\n UnityRLInitializationOutputProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08log_path\x18\x03 \x01(\t\x12\x44\n\x10\x62rain_parameters\x18\x05 \x03(\x0b\x32*.communicator_objects.BrainParametersProto\x12P\n\x16\x65nvironment_parameters\x18\x06 \x01(\x0b\x32\x30.communicator_objects.EnvironmentParametersProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__proto__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2.DESCRIPTOR,])
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2.DESCRIPTOR,])
_UNITYRLINITIALIZATIONOUTPUT = _descriptor.Descriptor(
name='UnityRLInitializationOutput',
full_name='communicator_objects.UnityRLInitializationOutput',
_UNITYRLINITIALIZATIONOUTPUTPROTO = _descriptor.Descriptor(
name='UnityRLInitializationOutputProto',
full_name='communicator_objects.UnityRLInitializationOutputProto',
name='name', full_name='communicator_objects.UnityRLInitializationOutput.name', index=0,
name='name', full_name='communicator_objects.UnityRLInitializationOutputProto.name', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

name='version', full_name='communicator_objects.UnityRLInitializationOutput.version', index=1,
name='version', full_name='communicator_objects.UnityRLInitializationOutputProto.version', index=1,
number=2, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

name='log_path', full_name='communicator_objects.UnityRLInitializationOutput.log_path', index=2,
name='log_path', full_name='communicator_objects.UnityRLInitializationOutputProto.log_path', index=2,
number=3, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

name='brain_parameters', full_name='communicator_objects.UnityRLInitializationOutput.brain_parameters', index=3,
name='brain_parameters', full_name='communicator_objects.UnityRLInitializationOutputProto.brain_parameters', index=3,
number=5, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,

name='environment_parameters', full_name='communicator_objects.UnityRLInitializationOutput.environment_parameters', index=4,
name='environment_parameters', full_name='communicator_objects.UnityRLInitializationOutputProto.environment_parameters', index=4,
number=6, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

extension_ranges=[],
oneofs=[
],
serialized_start=234,
serialized_end=464,
serialized_start=222,
serialized_end=457,
_UNITYRLINITIALIZATIONOUTPUT.fields_by_name['brain_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__proto__pb2._BRAINPARAMETERSPROTO
_UNITYRLINITIALIZATIONOUTPUT.fields_by_name['environment_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2._ENVIRONMENTPARAMETERSPROTO
DESCRIPTOR.message_types_by_name['UnityRLInitializationOutput'] = _UNITYRLINITIALIZATIONOUTPUT
_UNITYRLINITIALIZATIONOUTPUTPROTO.fields_by_name['brain_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_brain__parameters__pb2._BRAINPARAMETERSPROTO
_UNITYRLINITIALIZATIONOUTPUTPROTO.fields_by_name['environment_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2._ENVIRONMENTPARAMETERSPROTO
DESCRIPTOR.message_types_by_name['UnityRLInitializationOutputProto'] = _UNITYRLINITIALIZATIONOUTPUTPROTO
UnityRLInitializationOutput = _reflection.GeneratedProtocolMessageType('UnityRLInitializationOutput', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLINITIALIZATIONOUTPUT,
UnityRLInitializationOutputProto = _reflection.GeneratedProtocolMessageType('UnityRLInitializationOutputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLINITIALIZATIONOUTPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInitializationOutput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInitializationOutputProto)
_sym_db.RegisterMessage(UnityRLInitializationOutput)
_sym_db.RegisterMessage(UnityRLInitializationOutputProto)
DESCRIPTOR.has_options = True

20
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_initialization_output_pb2.pyi


Message as google___protobuf___message___Message,
)
from mlagents.envs.communicator_objects.brain_parameters_proto_pb2 import (
BrainParametersProto as mlagents___envs___communicator_objects___brain_parameters_proto_pb2___BrainParametersProto,
from mlagents.envs.communicator_objects.brain_parameters_pb2 import (
BrainParametersProto as mlagents___envs___communicator_objects___brain_parameters_pb2___BrainParametersProto,
from mlagents.envs.communicator_objects.environment_parameters_proto_pb2 import (
EnvironmentParametersProto as mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto,
from mlagents.envs.communicator_objects.environment_parameters_pb2 import (
EnvironmentParametersProto as mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto,
)
from typing import (

)
class UnityRLInitializationOutput(google___protobuf___message___Message):
class UnityRLInitializationOutputProto(google___protobuf___message___Message):
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
name = ... # type: typing___Text
version = ... # type: typing___Text

def brain_parameters(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___brain_parameters_proto_pb2___BrainParametersProto]: ...
def brain_parameters(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___brain_parameters_pb2___BrainParametersProto]: ...
def environment_parameters(self) -> mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto: ...
def environment_parameters(self) -> mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto: ...
def __init__(self,
*,

brain_parameters : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___brain_parameters_proto_pb2___BrainParametersProto]] = None,
environment_parameters : typing___Optional[mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto] = None,
brain_parameters : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___brain_parameters_pb2___BrainParametersProto]] = None,
environment_parameters : typing___Optional[mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto] = None,
def FromString(cls, s: bytes) -> UnityRLInitializationOutput: ...
def FromString(cls, s: bytes) -> UnityRLInitializationOutputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

92
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_input_pb2.py


_sym_db = _symbol_database.Default()
from mlagents.envs.communicator_objects import agent_action_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_agent__action__proto__pb2
from mlagents.envs.communicator_objects import environment_parameters_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2
from mlagents.envs.communicator_objects import command_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_command__proto__pb2
from mlagents.envs.communicator_objects import agent_action_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_agent__action__pb2
from mlagents.envs.communicator_objects import environment_parameters_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2
from mlagents.envs.communicator_objects import command_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_command__pb2
DESCRIPTOR = _descriptor.FileDescriptor(

serialized_pb=_b('\n7mlagents/envs/communicator_objects/unity_rl_input.proto\x12\x14\x63ommunicator_objects\x1a;mlagents/envs/communicator_objects/agent_action_proto.proto\x1a\x45mlagents/envs/communicator_objects/environment_parameters_proto.proto\x1a\x36mlagents/envs/communicator_objects/command_proto.proto\"\xb4\x03\n\x0cUnityRLInput\x12K\n\ragent_actions\x18\x01 \x03(\x0b\x32\x34.communicator_objects.UnityRLInput.AgentActionsEntry\x12P\n\x16\x65nvironment_parameters\x18\x02 \x01(\x0b\x32\x30.communicator_objects.EnvironmentParametersProto\x12\x13\n\x0bis_training\x18\x03 \x01(\x08\x12\x33\n\x07\x63ommand\x18\x04 \x01(\x0e\x32\".communicator_objects.CommandProto\x1aM\n\x14ListAgentActionProto\x12\x35\n\x05value\x18\x01 \x03(\x0b\x32&.communicator_objects.AgentActionProto\x1al\n\x11\x41gentActionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x46\n\x05value\x18\x02 \x01(\x0b\x32\x37.communicator_objects.UnityRLInput.ListAgentActionProto:\x02\x38\x01\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n7mlagents/envs/communicator_objects/unity_rl_input.proto\x12\x14\x63ommunicator_objects\x1a\x35mlagents/envs/communicator_objects/agent_action.proto\x1a?mlagents/envs/communicator_objects/environment_parameters.proto\x1a\x30mlagents/envs/communicator_objects/command.proto\"\xc3\x03\n\x11UnityRLInputProto\x12P\n\ragent_actions\x18\x01 \x03(\x0b\x32\x39.communicator_objects.UnityRLInputProto.AgentActionsEntry\x12P\n\x16\x65nvironment_parameters\x18\x02 \x01(\x0b\x32\x30.communicator_objects.EnvironmentParametersProto\x12\x13\n\x0bis_training\x18\x03 \x01(\x08\x12\x33\n\x07\x63ommand\x18\x04 \x01(\x0e\x32\".communicator_objects.CommandProto\x1aM\n\x14ListAgentActionProto\x12\x35\n\x05value\x18\x01 \x03(\x0b\x32&.communicator_objects.AgentActionProto\x1aq\n\x11\x41gentActionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12K\n\x05value\x18\x02 \x01(\x0b\x32<.communicator_objects.UnityRLInputProto.ListAgentActionProto:\x02\x38\x01\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_agent__action__proto__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_command__proto__pb2.DESCRIPTOR,])
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_agent__action__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_command__pb2.DESCRIPTOR,])
_UNITYRLINPUT_LISTAGENTACTIONPROTO = _descriptor.Descriptor(
_UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO = _descriptor.Descriptor(
full_name='communicator_objects.UnityRLInput.ListAgentActionProto',
full_name='communicator_objects.UnityRLInputProto.ListAgentActionProto',
name='value', full_name='communicator_objects.UnityRLInput.ListAgentActionProto.value', index=0,
name='value', full_name='communicator_objects.UnityRLInputProto.ListAgentActionProto.value', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,

extension_ranges=[],
oneofs=[
],
serialized_start=519,
serialized_end=596,
serialized_start=511,
serialized_end=588,
_UNITYRLINPUT_AGENTACTIONSENTRY = _descriptor.Descriptor(
_UNITYRLINPUTPROTO_AGENTACTIONSENTRY = _descriptor.Descriptor(
full_name='communicator_objects.UnityRLInput.AgentActionsEntry',
full_name='communicator_objects.UnityRLInputProto.AgentActionsEntry',
name='key', full_name='communicator_objects.UnityRLInput.AgentActionsEntry.key', index=0,
name='key', full_name='communicator_objects.UnityRLInputProto.AgentActionsEntry.key', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

name='value', full_name='communicator_objects.UnityRLInput.AgentActionsEntry.value', index=1,
name='value', full_name='communicator_objects.UnityRLInputProto.AgentActionsEntry.value', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

extension_ranges=[],
oneofs=[
],
serialized_start=598,
serialized_end=706,
serialized_start=590,
serialized_end=703,
_UNITYRLINPUT = _descriptor.Descriptor(
name='UnityRLInput',
full_name='communicator_objects.UnityRLInput',
_UNITYRLINPUTPROTO = _descriptor.Descriptor(
name='UnityRLInputProto',
full_name='communicator_objects.UnityRLInputProto',
name='agent_actions', full_name='communicator_objects.UnityRLInput.agent_actions', index=0,
name='agent_actions', full_name='communicator_objects.UnityRLInputProto.agent_actions', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,

name='environment_parameters', full_name='communicator_objects.UnityRLInput.environment_parameters', index=1,
name='environment_parameters', full_name='communicator_objects.UnityRLInputProto.environment_parameters', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

name='is_training', full_name='communicator_objects.UnityRLInput.is_training', index=2,
name='is_training', full_name='communicator_objects.UnityRLInputProto.is_training', index=2,
number=3, type=8, cpp_type=7, label=1,
has_default_value=False, default_value=False,
message_type=None, enum_type=None, containing_type=None,

name='command', full_name='communicator_objects.UnityRLInput.command', index=3,
name='command', full_name='communicator_objects.UnityRLInputProto.command', index=3,
number=4, type=14, cpp_type=8, label=1,
has_default_value=False, default_value=0,
message_type=None, enum_type=None, containing_type=None,

extensions=[
],
nested_types=[_UNITYRLINPUT_LISTAGENTACTIONPROTO, _UNITYRLINPUT_AGENTACTIONSENTRY, ],
nested_types=[_UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO, _UNITYRLINPUTPROTO_AGENTACTIONSENTRY, ],
enum_types=[
],
options=None,

oneofs=[
],
serialized_start=270,
serialized_end=706,
serialized_start=252,
serialized_end=703,
_UNITYRLINPUT_LISTAGENTACTIONPROTO.fields_by_name['value'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_agent__action__proto__pb2._AGENTACTIONPROTO
_UNITYRLINPUT_LISTAGENTACTIONPROTO.containing_type = _UNITYRLINPUT
_UNITYRLINPUT_AGENTACTIONSENTRY.fields_by_name['value'].message_type = _UNITYRLINPUT_LISTAGENTACTIONPROTO
_UNITYRLINPUT_AGENTACTIONSENTRY.containing_type = _UNITYRLINPUT
_UNITYRLINPUT.fields_by_name['agent_actions'].message_type = _UNITYRLINPUT_AGENTACTIONSENTRY
_UNITYRLINPUT.fields_by_name['environment_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__proto__pb2._ENVIRONMENTPARAMETERSPROTO
_UNITYRLINPUT.fields_by_name['command'].enum_type = mlagents_dot_envs_dot_communicator__objects_dot_command__proto__pb2._COMMANDPROTO
DESCRIPTOR.message_types_by_name['UnityRLInput'] = _UNITYRLINPUT
_UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO.fields_by_name['value'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_agent__action__pb2._AGENTACTIONPROTO
_UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO.containing_type = _UNITYRLINPUTPROTO
_UNITYRLINPUTPROTO_AGENTACTIONSENTRY.fields_by_name['value'].message_type = _UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO
_UNITYRLINPUTPROTO_AGENTACTIONSENTRY.containing_type = _UNITYRLINPUTPROTO
_UNITYRLINPUTPROTO.fields_by_name['agent_actions'].message_type = _UNITYRLINPUTPROTO_AGENTACTIONSENTRY
_UNITYRLINPUTPROTO.fields_by_name['environment_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_environment__parameters__pb2._ENVIRONMENTPARAMETERSPROTO
_UNITYRLINPUTPROTO.fields_by_name['command'].enum_type = mlagents_dot_envs_dot_communicator__objects_dot_command__pb2._COMMANDPROTO
DESCRIPTOR.message_types_by_name['UnityRLInputProto'] = _UNITYRLINPUTPROTO
UnityRLInput = _reflection.GeneratedProtocolMessageType('UnityRLInput', (_message.Message,), dict(
UnityRLInputProto = _reflection.GeneratedProtocolMessageType('UnityRLInputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLINPUT_LISTAGENTACTIONPROTO,
DESCRIPTOR = _UNITYRLINPUTPROTO_LISTAGENTACTIONPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInput.ListAgentActionProto)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInputProto.ListAgentActionProto)
DESCRIPTOR = _UNITYRLINPUT_AGENTACTIONSENTRY,
DESCRIPTOR = _UNITYRLINPUTPROTO_AGENTACTIONSENTRY,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInput.AgentActionsEntry)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInputProto.AgentActionsEntry)
DESCRIPTOR = _UNITYRLINPUT,
DESCRIPTOR = _UNITYRLINPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLInputProto)
_sym_db.RegisterMessage(UnityRLInput)
_sym_db.RegisterMessage(UnityRLInput.ListAgentActionProto)
_sym_db.RegisterMessage(UnityRLInput.AgentActionsEntry)
_sym_db.RegisterMessage(UnityRLInputProto)
_sym_db.RegisterMessage(UnityRLInputProto.ListAgentActionProto)
_sym_db.RegisterMessage(UnityRLInputProto.AgentActionsEntry)
_UNITYRLINPUT_AGENTACTIONSENTRY.has_options = True
_UNITYRLINPUT_AGENTACTIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_UNITYRLINPUTPROTO_AGENTACTIONSENTRY.has_options = True
_UNITYRLINPUTPROTO_AGENTACTIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
# @@protoc_insertion_point(module_scope)

40
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_input_pb2.pyi


Message as google___protobuf___message___Message,
)
from mlagents.envs.communicator_objects.agent_action_proto_pb2 import (
AgentActionProto as mlagents___envs___communicator_objects___agent_action_proto_pb2___AgentActionProto,
from mlagents.envs.communicator_objects.agent_action_pb2 import (
AgentActionProto as mlagents___envs___communicator_objects___agent_action_pb2___AgentActionProto,
from mlagents.envs.communicator_objects.command_proto_pb2 import (
CommandProto as mlagents___envs___communicator_objects___command_proto_pb2___CommandProto,
from mlagents.envs.communicator_objects.command_pb2 import (
CommandProto as mlagents___envs___communicator_objects___command_pb2___CommandProto,
from mlagents.envs.communicator_objects.environment_parameters_proto_pb2 import (
EnvironmentParametersProto as mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto,
from mlagents.envs.communicator_objects.environment_parameters_pb2 import (
EnvironmentParametersProto as mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto,
)
from typing import (

)
class UnityRLInput(google___protobuf___message___Message):
class UnityRLInputProto(google___protobuf___message___Message):
def value(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___agent_action_proto_pb2___AgentActionProto]: ...
def value(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___agent_action_pb2___AgentActionProto]: ...
value : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___agent_action_proto_pb2___AgentActionProto]] = None,
value : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___agent_action_pb2___AgentActionProto]] = None,
def FromString(cls, s: bytes) -> UnityRLInput.ListAgentActionProto: ...
def FromString(cls, s: bytes) -> UnityRLInputProto.ListAgentActionProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

key = ... # type: typing___Text
@property
def value(self) -> UnityRLInput.ListAgentActionProto: ...
def value(self) -> UnityRLInputProto.ListAgentActionProto: ...
value : typing___Optional[UnityRLInput.ListAgentActionProto] = None,
value : typing___Optional[UnityRLInputProto.ListAgentActionProto] = None,
def FromString(cls, s: bytes) -> UnityRLInput.AgentActionsEntry: ...
def FromString(cls, s: bytes) -> UnityRLInputProto.AgentActionsEntry: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...
is_training = ... # type: bool
command = ... # type: mlagents___envs___communicator_objects___command_proto_pb2___CommandProto
command = ... # type: mlagents___envs___communicator_objects___command_pb2___CommandProto
def agent_actions(self) -> typing___MutableMapping[typing___Text, UnityRLInput.ListAgentActionProto]: ...
def agent_actions(self) -> typing___MutableMapping[typing___Text, UnityRLInputProto.ListAgentActionProto]: ...
def environment_parameters(self) -> mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto: ...
def environment_parameters(self) -> mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto: ...
agent_actions : typing___Optional[typing___Mapping[typing___Text, UnityRLInput.ListAgentActionProto]] = None,
environment_parameters : typing___Optional[mlagents___envs___communicator_objects___environment_parameters_proto_pb2___EnvironmentParametersProto] = None,
agent_actions : typing___Optional[typing___Mapping[typing___Text, UnityRLInputProto.ListAgentActionProto]] = None,
environment_parameters : typing___Optional[mlagents___envs___communicator_objects___environment_parameters_pb2___EnvironmentParametersProto] = None,
command : typing___Optional[mlagents___envs___communicator_objects___command_proto_pb2___CommandProto] = None,
command : typing___Optional[mlagents___envs___communicator_objects___command_pb2___CommandProto] = None,
def FromString(cls, s: bytes) -> UnityRLInput: ...
def FromString(cls, s: bytes) -> UnityRLInputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

78
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_output_pb2.py


_sym_db = _symbol_database.Default()
from mlagents.envs.communicator_objects import agent_info_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_agent__info__proto__pb2
from mlagents.envs.communicator_objects import agent_info_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_agent__info__pb2
DESCRIPTOR = _descriptor.FileDescriptor(

serialized_pb=_b('\n8mlagents/envs/communicator_objects/unity_rl_output.proto\x12\x14\x63ommunicator_objects\x1a\x39mlagents/envs/communicator_objects/agent_info_proto.proto\"\x94\x02\n\rUnityRLOutput\x12G\n\nagentInfos\x18\x02 \x03(\x0b\x32\x33.communicator_objects.UnityRLOutput.AgentInfosEntry\x1aI\n\x12ListAgentInfoProto\x12\x33\n\x05value\x18\x01 \x03(\x0b\x32$.communicator_objects.AgentInfoProto\x1ai\n\x0f\x41gentInfosEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.communicator_objects.UnityRLOutput.ListAgentInfoProto:\x02\x38\x01J\x04\x08\x01\x10\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n8mlagents/envs/communicator_objects/unity_rl_output.proto\x12\x14\x63ommunicator_objects\x1a\x33mlagents/envs/communicator_objects/agent_info.proto\"\xa3\x02\n\x12UnityRLOutputProto\x12L\n\nagentInfos\x18\x02 \x03(\x0b\x32\x38.communicator_objects.UnityRLOutputProto.AgentInfosEntry\x1aI\n\x12ListAgentInfoProto\x12\x33\n\x05value\x18\x01 \x03(\x0b\x32$.communicator_objects.AgentInfoProto\x1an\n\x0f\x41gentInfosEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12J\n\x05value\x18\x02 \x01(\x0b\x32;.communicator_objects.UnityRLOutputProto.ListAgentInfoProto:\x02\x38\x01J\x04\x08\x01\x10\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_agent__info__proto__pb2.DESCRIPTOR,])
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_agent__info__pb2.DESCRIPTOR,])
_UNITYRLOUTPUT_LISTAGENTINFOPROTO = _descriptor.Descriptor(
_UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO = _descriptor.Descriptor(
full_name='communicator_objects.UnityRLOutput.ListAgentInfoProto',
full_name='communicator_objects.UnityRLOutputProto.ListAgentInfoProto',
name='value', full_name='communicator_objects.UnityRLOutput.ListAgentInfoProto.value', index=0,
name='value', full_name='communicator_objects.UnityRLOutputProto.ListAgentInfoProto.value', index=0,
number=1, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,

extension_ranges=[],
oneofs=[
],
serialized_start=232,
serialized_end=305,
serialized_start=236,
serialized_end=309,
_UNITYRLOUTPUT_AGENTINFOSENTRY = _descriptor.Descriptor(
_UNITYRLOUTPUTPROTO_AGENTINFOSENTRY = _descriptor.Descriptor(
full_name='communicator_objects.UnityRLOutput.AgentInfosEntry',
full_name='communicator_objects.UnityRLOutputProto.AgentInfosEntry',
name='key', full_name='communicator_objects.UnityRLOutput.AgentInfosEntry.key', index=0,
name='key', full_name='communicator_objects.UnityRLOutputProto.AgentInfosEntry.key', index=0,
number=1, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,

name='value', full_name='communicator_objects.UnityRLOutput.AgentInfosEntry.value', index=1,
name='value', full_name='communicator_objects.UnityRLOutputProto.AgentInfosEntry.value', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,

extension_ranges=[],
oneofs=[
],
serialized_start=307,
serialized_end=412,
serialized_start=311,
serialized_end=421,
_UNITYRLOUTPUT = _descriptor.Descriptor(
name='UnityRLOutput',
full_name='communicator_objects.UnityRLOutput',
_UNITYRLOUTPUTPROTO = _descriptor.Descriptor(
name='UnityRLOutputProto',
full_name='communicator_objects.UnityRLOutputProto',
name='agentInfos', full_name='communicator_objects.UnityRLOutput.agentInfos', index=0,
name='agentInfos', full_name='communicator_objects.UnityRLOutputProto.agentInfos', index=0,
number=2, type=11, cpp_type=10, label=3,
has_default_value=False, default_value=[],
message_type=None, enum_type=None, containing_type=None,

extensions=[
],
nested_types=[_UNITYRLOUTPUT_LISTAGENTINFOPROTO, _UNITYRLOUTPUT_AGENTINFOSENTRY, ],
nested_types=[_UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO, _UNITYRLOUTPUTPROTO_AGENTINFOSENTRY, ],
enum_types=[
],
options=None,

oneofs=[
],
serialized_start=142,
serialized_end=418,
serialized_start=136,
serialized_end=427,
_UNITYRLOUTPUT_LISTAGENTINFOPROTO.fields_by_name['value'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_agent__info__proto__pb2._AGENTINFOPROTO
_UNITYRLOUTPUT_LISTAGENTINFOPROTO.containing_type = _UNITYRLOUTPUT
_UNITYRLOUTPUT_AGENTINFOSENTRY.fields_by_name['value'].message_type = _UNITYRLOUTPUT_LISTAGENTINFOPROTO
_UNITYRLOUTPUT_AGENTINFOSENTRY.containing_type = _UNITYRLOUTPUT
_UNITYRLOUTPUT.fields_by_name['agentInfos'].message_type = _UNITYRLOUTPUT_AGENTINFOSENTRY
DESCRIPTOR.message_types_by_name['UnityRLOutput'] = _UNITYRLOUTPUT
_UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO.fields_by_name['value'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_agent__info__pb2._AGENTINFOPROTO
_UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO.containing_type = _UNITYRLOUTPUTPROTO
_UNITYRLOUTPUTPROTO_AGENTINFOSENTRY.fields_by_name['value'].message_type = _UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO
_UNITYRLOUTPUTPROTO_AGENTINFOSENTRY.containing_type = _UNITYRLOUTPUTPROTO
_UNITYRLOUTPUTPROTO.fields_by_name['agentInfos'].message_type = _UNITYRLOUTPUTPROTO_AGENTINFOSENTRY
DESCRIPTOR.message_types_by_name['UnityRLOutputProto'] = _UNITYRLOUTPUTPROTO
UnityRLOutput = _reflection.GeneratedProtocolMessageType('UnityRLOutput', (_message.Message,), dict(
UnityRLOutputProto = _reflection.GeneratedProtocolMessageType('UnityRLOutputProto', (_message.Message,), dict(
DESCRIPTOR = _UNITYRLOUTPUT_LISTAGENTINFOPROTO,
DESCRIPTOR = _UNITYRLOUTPUTPROTO_LISTAGENTINFOPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutput.ListAgentInfoProto)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutputProto.ListAgentInfoProto)
DESCRIPTOR = _UNITYRLOUTPUT_AGENTINFOSENTRY,
DESCRIPTOR = _UNITYRLOUTPUTPROTO_AGENTINFOSENTRY,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutput.AgentInfosEntry)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutputProto.AgentInfosEntry)
DESCRIPTOR = _UNITYRLOUTPUT,
DESCRIPTOR = _UNITYRLOUTPUTPROTO,
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutput)
# @@protoc_insertion_point(class_scope:communicator_objects.UnityRLOutputProto)
_sym_db.RegisterMessage(UnityRLOutput)
_sym_db.RegisterMessage(UnityRLOutput.ListAgentInfoProto)
_sym_db.RegisterMessage(UnityRLOutput.AgentInfosEntry)
_sym_db.RegisterMessage(UnityRLOutputProto)
_sym_db.RegisterMessage(UnityRLOutputProto.ListAgentInfoProto)
_sym_db.RegisterMessage(UnityRLOutputProto.AgentInfosEntry)
_UNITYRLOUTPUT_AGENTINFOSENTRY.has_options = True
_UNITYRLOUTPUT_AGENTINFOSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_UNITYRLOUTPUTPROTO_AGENTINFOSENTRY.has_options = True
_UNITYRLOUTPUTPROTO_AGENTINFOSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
# @@protoc_insertion_point(module_scope)

24
ml-agents-envs/mlagents/envs/communicator_objects/unity_rl_output_pb2.pyi


Message as google___protobuf___message___Message,
)
from mlagents.envs.communicator_objects.agent_info_proto_pb2 import (
AgentInfoProto as mlagents___envs___communicator_objects___agent_info_proto_pb2___AgentInfoProto,
from mlagents.envs.communicator_objects.agent_info_pb2 import (
AgentInfoProto as mlagents___envs___communicator_objects___agent_info_pb2___AgentInfoProto,
)
from typing import (

)
class UnityRLOutput(google___protobuf___message___Message):
class UnityRLOutputProto(google___protobuf___message___Message):
def value(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___agent_info_proto_pb2___AgentInfoProto]: ...
def value(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___agent_info_pb2___AgentInfoProto]: ...
value : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___agent_info_proto_pb2___AgentInfoProto]] = None,
value : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___agent_info_pb2___AgentInfoProto]] = None,
def FromString(cls, s: bytes) -> UnityRLOutput.ListAgentInfoProto: ...
def FromString(cls, s: bytes) -> UnityRLOutputProto.ListAgentInfoProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

key = ... # type: typing___Text
@property
def value(self) -> UnityRLOutput.ListAgentInfoProto: ...
def value(self) -> UnityRLOutputProto.ListAgentInfoProto: ...
value : typing___Optional[UnityRLOutput.ListAgentInfoProto] = None,
value : typing___Optional[UnityRLOutputProto.ListAgentInfoProto] = None,
def FromString(cls, s: bytes) -> UnityRLOutput.AgentInfosEntry: ...
def FromString(cls, s: bytes) -> UnityRLOutputProto.AgentInfosEntry: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

@property
def agentInfos(self) -> typing___MutableMapping[typing___Text, UnityRLOutput.ListAgentInfoProto]: ...
def agentInfos(self) -> typing___MutableMapping[typing___Text, UnityRLOutputProto.ListAgentInfoProto]: ...
agentInfos : typing___Optional[typing___Mapping[typing___Text, UnityRLOutput.ListAgentInfoProto]] = None,
agentInfos : typing___Optional[typing___Mapping[typing___Text, UnityRLOutputProto.ListAgentInfoProto]] = None,
def FromString(cls, s: bytes) -> UnityRLOutput: ...
def FromString(cls, s: bytes) -> UnityRLOutputProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):

20
ml-agents-envs/mlagents/envs/communicator_objects/unity_to_external_pb2.py


name='mlagents/envs/communicator_objects/unity_to_external.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n:mlagents/envs/communicator_objects/unity_to_external.proto\x12\x14\x63ommunicator_objects\x1a\x36mlagents/envs/communicator_objects/unity_message.proto2g\n\x0fUnityToExternal\x12T\n\x08\x45xchange\x12\".communicator_objects.UnityMessage\x1a\".communicator_objects.UnityMessage\"\x00\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n:mlagents/envs/communicator_objects/unity_to_external.proto\x12\x14\x63ommunicator_objects\x1a\x36mlagents/envs/communicator_objects/unity_message.proto2v\n\x14UnityToExternalProto\x12^\n\x08\x45xchange\x12\'.communicator_objects.UnityMessageProto\x1a\'.communicator_objects.UnityMessageProto\"\x00\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.DESCRIPTOR,])

DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\252\002\034MLAgents.CommunicatorObjects'))
_UNITYTOEXTERNAL = _descriptor.ServiceDescriptor(
name='UnityToExternal',
full_name='communicator_objects.UnityToExternal',
_UNITYTOEXTERNALPROTO = _descriptor.ServiceDescriptor(
name='UnityToExternalProto',
full_name='communicator_objects.UnityToExternalProto',
serialized_end=243,
serialized_end=258,
full_name='communicator_objects.UnityToExternal.Exchange',
full_name='communicator_objects.UnityToExternalProto.Exchange',
input_type=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2._UNITYMESSAGE,
output_type=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2._UNITYMESSAGE,
input_type=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2._UNITYMESSAGEPROTO,
output_type=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2._UNITYMESSAGEPROTO,
_sym_db.RegisterServiceDescriptor(_UNITYTOEXTERNAL)
_sym_db.RegisterServiceDescriptor(_UNITYTOEXTERNALPROTO)
DESCRIPTOR.services_by_name['UnityToExternal'] = _UNITYTOEXTERNAL
DESCRIPTOR.services_by_name['UnityToExternalProto'] = _UNITYTOEXTERNALPROTO
# @@protoc_insertion_point(module_scope)

18
ml-agents-envs/mlagents/envs/communicator_objects/unity_to_external_pb2_grpc.py


from mlagents.envs.communicator_objects import unity_message_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2
class UnityToExternalStub(object):
class UnityToExternalProtoStub(object):
# missing associated documentation comment in .proto file
pass

channel: A grpc.Channel.
"""
self.Exchange = channel.unary_unary(
'/communicator_objects.UnityToExternal/Exchange',
request_serializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessage.SerializeToString,
response_deserializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessage.FromString,
'/communicator_objects.UnityToExternalProto/Exchange',
request_serializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessageProto.SerializeToString,
response_deserializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessageProto.FromString,
class UnityToExternalServicer(object):
class UnityToExternalProtoServicer(object):
# missing associated documentation comment in .proto file
pass

raise NotImplementedError('Method not implemented!')
def add_UnityToExternalServicer_to_server(servicer, server):
def add_UnityToExternalProtoServicer_to_server(servicer, server):
request_deserializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessage.FromString,
response_serializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessage.SerializeToString,
request_deserializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessageProto.FromString,
response_serializer=mlagents_dot_envs_dot_communicator__objects_dot_unity__message__pb2.UnityMessageProto.SerializeToString,
'communicator_objects.UnityToExternal', rpc_method_handlers)
'communicator_objects.UnityToExternalProto', rpc_method_handlers)
server.add_generic_rpc_handlers((generic_handler,))

14
ml-agents-envs/mlagents/envs/communicator_objects/agent_action_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/agent_action_proto.proto
# source: mlagents/envs/communicator_objects/agent_action.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/agent_action_proto.proto',
name='mlagents/envs/communicator_objects/agent_action.proto',
serialized_pb=_b('\n;mlagents/envs/communicator_objects/agent_action_proto.proto\x12\x14\x63ommunicator_objects\x1a\x36mlagents/envs/communicator_objects/custom_action.proto\"\x9c\x01\n\x10\x41gentActionProto\x12\x16\n\x0evector_actions\x18\x01 \x03(\x02\x12\x14\n\x0ctext_actions\x18\x02 \x01(\t\x12\x10\n\x08memories\x18\x03 \x03(\x02\x12\r\n\x05value\x18\x04 \x01(\x02\x12\x39\n\rcustom_action\x18\x05 \x01(\x0b\x32\".communicator_objects.CustomActionB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n5mlagents/envs/communicator_objects/agent_action.proto\x12\x14\x63ommunicator_objects\x1a\x36mlagents/envs/communicator_objects/custom_action.proto\"\xa1\x01\n\x10\x41gentActionProto\x12\x16\n\x0evector_actions\x18\x01 \x03(\x02\x12\x14\n\x0ctext_actions\x18\x02 \x01(\t\x12\x10\n\x08memories\x18\x03 \x03(\x02\x12\r\n\x05value\x18\x04 \x01(\x02\x12>\n\rcustom_action\x18\x05 \x01(\x0b\x32\'.communicator_objects.CustomActionProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_custom__action__pb2.DESCRIPTOR,])

extension_ranges=[],
oneofs=[
],
serialized_start=142,
serialized_end=298,
serialized_start=136,
serialized_end=297,
_AGENTACTIONPROTO.fields_by_name['custom_action'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__action__pb2._CUSTOMACTION
_AGENTACTIONPROTO.fields_by_name['custom_action'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__action__pb2._CUSTOMACTIONPROTO
__module__ = 'mlagents.envs.communicator_objects.agent_action_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.agent_action_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.AgentActionProto)
))
_sym_db.RegisterMessage(AgentActionProto)

6
ml-agents-envs/mlagents/envs/communicator_objects/agent_action_pb2.pyi


)
from mlagents.envs.communicator_objects.custom_action_pb2 import (
CustomAction as mlagents___envs___communicator_objects___custom_action_pb2___CustomAction,
CustomActionProto as mlagents___envs___communicator_objects___custom_action_pb2___CustomActionProto,
)
from typing import (

value = ... # type: float
@property
def custom_action(self) -> mlagents___envs___communicator_objects___custom_action_pb2___CustomAction: ...
def custom_action(self) -> mlagents___envs___communicator_objects___custom_action_pb2___CustomActionProto: ...
def __init__(self,
*,

value : typing___Optional[float] = None,
custom_action : typing___Optional[mlagents___envs___communicator_objects___custom_action_pb2___CustomAction] = None,
custom_action : typing___Optional[mlagents___envs___communicator_objects___custom_action_pb2___CustomActionProto] = None,
) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> AgentActionProto: ...

14
ml-agents-envs/mlagents/envs/communicator_objects/agent_info_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/agent_info_proto.proto
# source: mlagents/envs/communicator_objects/agent_info.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/agent_info_proto.proto',
name='mlagents/envs/communicator_objects/agent_info.proto',
serialized_pb=_b('\n9mlagents/envs/communicator_objects/agent_info_proto.proto\x12\x14\x63ommunicator_objects\x1a;mlagents/envs/communicator_objects/custom_observation.proto\"\xd7\x02\n\x0e\x41gentInfoProto\x12\"\n\x1astacked_vector_observation\x18\x01 \x03(\x02\x12\x1b\n\x13visual_observations\x18\x02 \x03(\x0c\x12\x18\n\x10text_observation\x18\x03 \x01(\t\x12\x1d\n\x15stored_vector_actions\x18\x04 \x03(\x02\x12\x1b\n\x13stored_text_actions\x18\x05 \x01(\t\x12\x10\n\x08memories\x18\x06 \x03(\x02\x12\x0e\n\x06reward\x18\x07 \x01(\x02\x12\x0c\n\x04\x64one\x18\x08 \x01(\x08\x12\x18\n\x10max_step_reached\x18\t \x01(\x08\x12\n\n\x02id\x18\n \x01(\x05\x12\x13\n\x0b\x61\x63tion_mask\x18\x0b \x03(\x08\x12\x43\n\x12\x63ustom_observation\x18\x0c \x01(\x0b\x32\'.communicator_objects.CustomObservationB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n3mlagents/envs/communicator_objects/agent_info.proto\x12\x14\x63ommunicator_objects\x1a;mlagents/envs/communicator_objects/custom_observation.proto\"\xdc\x02\n\x0e\x41gentInfoProto\x12\"\n\x1astacked_vector_observation\x18\x01 \x03(\x02\x12\x1b\n\x13visual_observations\x18\x02 \x03(\x0c\x12\x18\n\x10text_observation\x18\x03 \x01(\t\x12\x1d\n\x15stored_vector_actions\x18\x04 \x03(\x02\x12\x1b\n\x13stored_text_actions\x18\x05 \x01(\t\x12\x10\n\x08memories\x18\x06 \x03(\x02\x12\x0e\n\x06reward\x18\x07 \x01(\x02\x12\x0c\n\x04\x64one\x18\x08 \x01(\x08\x12\x18\n\x10max_step_reached\x18\t \x01(\x08\x12\n\n\x02id\x18\n \x01(\x05\x12\x13\n\x0b\x61\x63tion_mask\x18\x0b \x03(\x08\x12H\n\x12\x63ustom_observation\x18\x0c \x01(\x0b\x32,.communicator_objects.CustomObservationProtoB\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_custom__observation__pb2.DESCRIPTOR,])

extension_ranges=[],
oneofs=[
],
serialized_start=145,
serialized_end=488,
serialized_start=139,
serialized_end=487,
_AGENTINFOPROTO.fields_by_name['custom_observation'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__observation__pb2._CUSTOMOBSERVATION
_AGENTINFOPROTO.fields_by_name['custom_observation'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__observation__pb2._CUSTOMOBSERVATIONPROTO
__module__ = 'mlagents.envs.communicator_objects.agent_info_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.agent_info_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.AgentInfoProto)
))
_sym_db.RegisterMessage(AgentInfoProto)

6
ml-agents-envs/mlagents/envs/communicator_objects/agent_info_pb2.pyi


)
from mlagents.envs.communicator_objects.custom_observation_pb2 import (
CustomObservation as mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservation,
CustomObservationProto as mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservationProto,
)
from typing import (

action_mask = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[bool]
@property
def custom_observation(self) -> mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservation: ...
def custom_observation(self) -> mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservationProto: ...
def __init__(self,
*,

max_step_reached : typing___Optional[bool] = None,
id : typing___Optional[int] = None,
action_mask : typing___Optional[typing___Iterable[bool]] = None,
custom_observation : typing___Optional[mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservation] = None,
custom_observation : typing___Optional[mlagents___envs___communicator_objects___custom_observation_pb2___CustomObservationProto] = None,
) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> AgentInfoProto: ...

22
ml-agents-envs/mlagents/envs/communicator_objects/brain_parameters_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/brain_parameters_proto.proto
# source: mlagents/envs/communicator_objects/brain_parameters.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

_sym_db = _symbol_database.Default()
from mlagents.envs.communicator_objects import resolution_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_resolution__proto__pb2
from mlagents.envs.communicator_objects import space_type_proto_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_space__type__proto__pb2
from mlagents.envs.communicator_objects import resolution_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_resolution__pb2
from mlagents.envs.communicator_objects import space_type_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_space__type__pb2
name='mlagents/envs/communicator_objects/brain_parameters_proto.proto',
name='mlagents/envs/communicator_objects/brain_parameters.proto',
serialized_pb=_b('\n?mlagents/envs/communicator_objects/brain_parameters_proto.proto\x12\x14\x63ommunicator_objects\x1a\x39mlagents/envs/communicator_objects/resolution_proto.proto\x1a\x39mlagents/envs/communicator_objects/space_type_proto.proto\"\xd4\x02\n\x14\x42rainParametersProto\x12\x1f\n\x17vector_observation_size\x18\x01 \x01(\x05\x12\'\n\x1fnum_stacked_vector_observations\x18\x02 \x01(\x05\x12\x1a\n\x12vector_action_size\x18\x03 \x03(\x05\x12\x41\n\x12\x63\x61mera_resolutions\x18\x04 \x03(\x0b\x32%.communicator_objects.ResolutionProto\x12\"\n\x1avector_action_descriptions\x18\x05 \x03(\t\x12\x46\n\x18vector_action_space_type\x18\x06 \x01(\x0e\x32$.communicator_objects.SpaceTypeProto\x12\x12\n\nbrain_name\x18\x07 \x01(\t\x12\x13\n\x0bis_training\x18\x08 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n9mlagents/envs/communicator_objects/brain_parameters.proto\x12\x14\x63ommunicator_objects\x1a\x33mlagents/envs/communicator_objects/resolution.proto\x1a\x33mlagents/envs/communicator_objects/space_type.proto\"\xd4\x02\n\x14\x42rainParametersProto\x12\x1f\n\x17vector_observation_size\x18\x01 \x01(\x05\x12\'\n\x1fnum_stacked_vector_observations\x18\x02 \x01(\x05\x12\x1a\n\x12vector_action_size\x18\x03 \x03(\x05\x12\x41\n\x12\x63\x61mera_resolutions\x18\x04 \x03(\x0b\x32%.communicator_objects.ResolutionProto\x12\"\n\x1avector_action_descriptions\x18\x05 \x03(\t\x12\x46\n\x18vector_action_space_type\x18\x06 \x01(\x0e\x32$.communicator_objects.SpaceTypeProto\x12\x12\n\nbrain_name\x18\x07 \x01(\t\x12\x13\n\x0bis_training\x18\x08 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_resolution__proto__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_space__type__proto__pb2.DESCRIPTOR,])
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_resolution__pb2.DESCRIPTOR,mlagents_dot_envs_dot_communicator__objects_dot_space__type__pb2.DESCRIPTOR,])

extension_ranges=[],
oneofs=[
],
serialized_start=208,
serialized_end=548,
serialized_start=190,
serialized_end=530,
_BRAINPARAMETERSPROTO.fields_by_name['camera_resolutions'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_resolution__proto__pb2._RESOLUTIONPROTO
_BRAINPARAMETERSPROTO.fields_by_name['vector_action_space_type'].enum_type = mlagents_dot_envs_dot_communicator__objects_dot_space__type__proto__pb2._SPACETYPEPROTO
_BRAINPARAMETERSPROTO.fields_by_name['camera_resolutions'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_resolution__pb2._RESOLUTIONPROTO
_BRAINPARAMETERSPROTO.fields_by_name['vector_action_space_type'].enum_type = mlagents_dot_envs_dot_communicator__objects_dot_space__type__pb2._SPACETYPEPROTO
__module__ = 'mlagents.envs.communicator_objects.brain_parameters_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.brain_parameters_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.BrainParametersProto)
))
_sym_db.RegisterMessage(BrainParametersProto)

10
ml-agents-envs/mlagents/envs/communicator_objects/command_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/command_proto.proto
# source: mlagents/envs/communicator_objects/command.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/command_proto.proto',
name='mlagents/envs/communicator_objects/command.proto',
serialized_pb=_b('\n6mlagents/envs/communicator_objects/command_proto.proto\x12\x14\x63ommunicator_objects*-\n\x0c\x43ommandProto\x12\x08\n\x04STEP\x10\x00\x12\t\n\x05RESET\x10\x01\x12\x08\n\x04QUIT\x10\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n0mlagents/envs/communicator_objects/command.proto\x12\x14\x63ommunicator_objects*-\n\x0c\x43ommandProto\x12\x08\n\x04STEP\x10\x00\x12\t\n\x05RESET\x10\x01\x12\x08\n\x04QUIT\x10\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
)
_COMMANDPROTO = _descriptor.EnumDescriptor(

],
containing_type=None,
options=None,
serialized_start=80,
serialized_end=125,
serialized_start=74,
serialized_end=119,
)
_sym_db.RegisterEnumDescriptor(_COMMANDPROTO)

12
ml-agents-envs/mlagents/envs/communicator_objects/demonstration_meta_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/demonstration_meta_proto.proto
# source: mlagents/envs/communicator_objects/demonstration_meta.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/demonstration_meta_proto.proto',
name='mlagents/envs/communicator_objects/demonstration_meta.proto',
serialized_pb=_b('\nAmlagents/envs/communicator_objects/demonstration_meta_proto.proto\x12\x14\x63ommunicator_objects\"\x8d\x01\n\x16\x44\x65monstrationMetaProto\x12\x13\n\x0b\x61pi_version\x18\x01 \x01(\x05\x12\x1a\n\x12\x64\x65monstration_name\x18\x02 \x01(\t\x12\x14\n\x0cnumber_steps\x18\x03 \x01(\x05\x12\x17\n\x0fnumber_episodes\x18\x04 \x01(\x05\x12\x13\n\x0bmean_reward\x18\x05 \x01(\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n;mlagents/envs/communicator_objects/demonstration_meta.proto\x12\x14\x63ommunicator_objects\"\x8d\x01\n\x16\x44\x65monstrationMetaProto\x12\x13\n\x0b\x61pi_version\x18\x01 \x01(\x05\x12\x1a\n\x12\x64\x65monstration_name\x18\x02 \x01(\t\x12\x14\n\x0cnumber_steps\x18\x03 \x01(\x05\x12\x17\n\x0fnumber_episodes\x18\x04 \x01(\x05\x12\x13\n\x0bmean_reward\x18\x05 \x01(\x02\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
)

extension_ranges=[],
oneofs=[
],
serialized_start=92,
serialized_end=233,
serialized_start=86,
serialized_end=227,
)
DESCRIPTOR.message_types_by_name['DemonstrationMetaProto'] = _DEMONSTRATIONMETAPROTO

DESCRIPTOR = _DEMONSTRATIONMETAPROTO,
__module__ = 'mlagents.envs.communicator_objects.demonstration_meta_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.demonstration_meta_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.DemonstrationMetaProto)
))
_sym_db.RegisterMessage(DemonstrationMetaProto)

12
ml-agents-envs/mlagents/envs/communicator_objects/engine_configuration_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/engine_configuration_proto.proto
# source: mlagents/envs/communicator_objects/engine_configuration.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/engine_configuration_proto.proto',
name='mlagents/envs/communicator_objects/engine_configuration.proto',
serialized_pb=_b('\nCmlagents/envs/communicator_objects/engine_configuration_proto.proto\x12\x14\x63ommunicator_objects\"\x95\x01\n\x18\x45ngineConfigurationProto\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x15\n\rquality_level\x18\x03 \x01(\x05\x12\x12\n\ntime_scale\x18\x04 \x01(\x02\x12\x19\n\x11target_frame_rate\x18\x05 \x01(\x05\x12\x14\n\x0cshow_monitor\x18\x06 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n=mlagents/envs/communicator_objects/engine_configuration.proto\x12\x14\x63ommunicator_objects\"\x95\x01\n\x18\x45ngineConfigurationProto\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x15\n\rquality_level\x18\x03 \x01(\x05\x12\x12\n\ntime_scale\x18\x04 \x01(\x02\x12\x19\n\x11target_frame_rate\x18\x05 \x01(\x05\x12\x14\n\x0cshow_monitor\x18\x06 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
)

extension_ranges=[],
oneofs=[
],
serialized_start=94,
serialized_end=243,
serialized_start=88,
serialized_end=237,
)
DESCRIPTOR.message_types_by_name['EngineConfigurationProto'] = _ENGINECONFIGURATIONPROTO

DESCRIPTOR = _ENGINECONFIGURATIONPROTO,
__module__ = 'mlagents.envs.communicator_objects.engine_configuration_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.engine_configuration_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.EngineConfigurationProto)
))
_sym_db.RegisterMessage(EngineConfigurationProto)

20
ml-agents-envs/mlagents/envs/communicator_objects/environment_parameters_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/environment_parameters_proto.proto
# source: mlagents/envs/communicator_objects/environment_parameters.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/environment_parameters_proto.proto',
name='mlagents/envs/communicator_objects/environment_parameters.proto',
serialized_pb=_b('\nEmlagents/envs/communicator_objects/environment_parameters_proto.proto\x12\x14\x63ommunicator_objects\x1a@mlagents/envs/communicator_objects/custom_reset_parameters.proto\"\x83\x02\n\x1a\x45nvironmentParametersProto\x12_\n\x10\x66loat_parameters\x18\x01 \x03(\x0b\x32\x45.communicator_objects.EnvironmentParametersProto.FloatParametersEntry\x12L\n\x17\x63ustom_reset_parameters\x18\x02 \x01(\x0b\x32+.communicator_objects.CustomResetParameters\x1a\x36\n\x14\x46loatParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n?mlagents/envs/communicator_objects/environment_parameters.proto\x12\x14\x63ommunicator_objects\x1a@mlagents/envs/communicator_objects/custom_reset_parameters.proto\"\x88\x02\n\x1a\x45nvironmentParametersProto\x12_\n\x10\x66loat_parameters\x18\x01 \x03(\x0b\x32\x45.communicator_objects.EnvironmentParametersProto.FloatParametersEntry\x12Q\n\x17\x63ustom_reset_parameters\x18\x02 \x01(\x0b\x32\x30.communicator_objects.CustomResetParametersProto\x1a\x36\n\x14\x46loatParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_custom__reset__parameters__pb2.DESCRIPTOR,])

extension_ranges=[],
oneofs=[
],
serialized_start=367,
serialized_end=421,
serialized_start=366,
serialized_end=420,
)
_ENVIRONMENTPARAMETERSPROTO = _descriptor.Descriptor(

extension_ranges=[],
oneofs=[
],
serialized_start=162,
serialized_end=421,
serialized_start=156,
serialized_end=420,
_ENVIRONMENTPARAMETERSPROTO.fields_by_name['custom_reset_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__reset__parameters__pb2._CUSTOMRESETPARAMETERS
_ENVIRONMENTPARAMETERSPROTO.fields_by_name['custom_reset_parameters'].message_type = mlagents_dot_envs_dot_communicator__objects_dot_custom__reset__parameters__pb2._CUSTOMRESETPARAMETERSPROTO
DESCRIPTOR.message_types_by_name['EnvironmentParametersProto'] = _ENVIRONMENTPARAMETERSPROTO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

DESCRIPTOR = _ENVIRONMENTPARAMETERSPROTO_FLOATPARAMETERSENTRY,
__module__ = 'mlagents.envs.communicator_objects.environment_parameters_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.environment_parameters_pb2'
__module__ = 'mlagents.envs.communicator_objects.environment_parameters_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.environment_parameters_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.EnvironmentParametersProto)
))
_sym_db.RegisterMessage(EnvironmentParametersProto)

6
ml-agents-envs/mlagents/envs/communicator_objects/environment_parameters_pb2.pyi


)
from mlagents.envs.communicator_objects.custom_reset_parameters_pb2 import (
CustomResetParameters as mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParameters,
CustomResetParametersProto as mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParametersProto,
)
from typing import (

def float_parameters(self) -> typing___MutableMapping[typing___Text, float]: ...
@property
def custom_reset_parameters(self) -> mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParameters: ...
def custom_reset_parameters(self) -> mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParametersProto: ...
custom_reset_parameters : typing___Optional[mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParameters] = None,
custom_reset_parameters : typing___Optional[mlagents___envs___communicator_objects___custom_reset_parameters_pb2___CustomResetParametersProto] = None,
) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> EnvironmentParametersProto: ...

12
ml-agents-envs/mlagents/envs/communicator_objects/resolution_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/resolution_proto.proto
# source: mlagents/envs/communicator_objects/resolution.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))

DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/resolution_proto.proto',
name='mlagents/envs/communicator_objects/resolution.proto',
serialized_pb=_b('\n9mlagents/envs/communicator_objects/resolution_proto.proto\x12\x14\x63ommunicator_objects\"D\n\x0fResolutionProto\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x12\n\ngray_scale\x18\x03 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
serialized_pb=_b('\n3mlagents/envs/communicator_objects/resolution.proto\x12\x14\x63ommunicator_objects\"D\n\x0fResolutionProto\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x12\n\ngray_scale\x18\x03 \x01(\x08\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
)

extension_ranges=[],
oneofs=[
],
serialized_start=83,
serialized_end=151,
serialized_start=77,
serialized_end=145,
)
DESCRIPTOR.message_types_by_name['ResolutionProto'] = _RESOLUTIONPROTO

DESCRIPTOR = _RESOLUTIONPROTO,
__module__ = 'mlagents.envs.communicator_objects.resolution_proto_pb2'
__module__ = 'mlagents.envs.communicator_objects.resolution_pb2'
# @@protoc_insertion_point(class_scope:communicator_objects.ResolutionProto)
))
_sym_db.RegisterMessage(ResolutionProto)

42
ml-agents-envs/mlagents/envs/environment.py


UnityTimeOutException,
)
from mlagents.envs.communicator_objects.unity_rl_input_pb2 import UnityRLInput
from mlagents.envs.communicator_objects.unity_rl_output_pb2 import UnityRLOutput
from mlagents.envs.communicator_objects.agent_action_proto_pb2 import AgentActionProto
from mlagents.envs.communicator_objects.environment_parameters_proto_pb2 import (
from mlagents.envs.communicator_objects.unity_rl_input_pb2 import UnityRLInputProto
from mlagents.envs.communicator_objects.unity_rl_output_pb2 import UnityRLOutputProto
from mlagents.envs.communicator_objects.agent_action_pb2 import AgentActionProto
from mlagents.envs.communicator_objects.environment_parameters_pb2 import (
UnityRLInitializationInput,
UnityRLInitializationInputProto,
UnityRLInitializationOutput,
UnityRLInitializationOutputProto,
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInput
from mlagents.envs.communicator_objects.custom_action_pb2 import CustomAction
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInputProto
from mlagents.envs.communicator_objects.custom_action_pb2 import CustomActionProto
from .rpc_communicator import RpcCommunicator
from sys import platform

)
self._loaded = True
rl_init_parameters_in = UnityRLInitializationInput(seed=seed)
rl_init_parameters_in = UnityRLInitializationInputProto(seed=seed)
try:
aca_params = self.send_academy_parameters(rl_init_parameters_in)
except UnityTimeOutException:

"step cannot take a value input"
)
if isinstance(custom_action, CustomAction):
if isinstance(custom_action, CustomActionProto):
if self._num_external_brains == 1:
custom_action = {self._external_brain_names[0]: custom_action}
elif self._num_external_brains > 1:

else:
if custom_action[brain_name] is None:
custom_action[brain_name] = [None] * n_agent
if isinstance(custom_action[brain_name], CustomAction):
if isinstance(custom_action[brain_name], CustomActionProto):
custom_action[brain_name] = [
custom_action[brain_name]
] * n_agent

arr = [float(x) for x in arr]
return arr
def _get_state(self, output: UnityRLOutput) -> AllBrainInfo:
def _get_state(self, output: UnityRLOutputProto) -> AllBrainInfo:
"""
Collects experience information from all external brains in environment at current step.
:return: a dictionary of BrainInfo objects.

text_action: Dict[str, list],
value: Dict[str, np.ndarray],
custom_action: Dict[str, list],
) -> UnityInput:
rl_in = UnityRLInput()
) -> UnityInputProto:
rl_in = UnityRLInputProto()
for b in vector_action:
n_agents = self._n_agents[b]
if n_agents == 0:

def _generate_reset_input(
self, training: bool, config: Dict, custom_reset_parameters: Any
) -> UnityInput:
rl_in = UnityRLInput()
) -> UnityInputProto:
rl_in = UnityRLInputProto()
rl_in.is_training = training
rl_in.environment_parameters.CopyFrom(EnvironmentParametersProto())
for key in config:

return self.wrap_unity_input(rl_in)
def send_academy_parameters(
self, init_parameters: UnityRLInitializationInput
) -> UnityRLInitializationOutput:
inputs = UnityInput()
self, init_parameters: UnityRLInitializationInputProto
) -> UnityRLInitializationOutputProto:
inputs = UnityInputProto()
def wrap_unity_input(rl_input: UnityRLInput) -> UnityInput:
result = UnityInput()
def wrap_unity_input(rl_input: UnityRLInputProto) -> UnityInputProto:
result = UnityInputProto()
result.rl_input.CopyFrom(rl_input)
return result

30
ml-agents-envs/mlagents/envs/mock_communicator.py


from .communicator import Communicator
from mlagents.envs.communicator_objects.unity_rl_output_pb2 import UnityRLOutput
from mlagents.envs.communicator_objects.brain_parameters_proto_pb2 import (
BrainParametersProto,
)
from mlagents.envs.communicator_objects.unity_rl_output_pb2 import UnityRLOutputProto
from mlagents.envs.communicator_objects.brain_parameters_pb2 import BrainParametersProto
UnityRLInitializationOutput,
UnityRLInitializationOutputProto,
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInput
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutput
from mlagents.envs.communicator_objects.resolution_proto_pb2 import ResolutionProto
from mlagents.envs.communicator_objects.agent_info_proto_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInputProto
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutputProto
from mlagents.envs.communicator_objects.resolution_pb2 import ResolutionProto
from mlagents.envs.communicator_objects.agent_info_pb2 import AgentInfoProto
class MockCommunicator(Communicator):

else:
self.num_stacks = 1
def initialize(self, inputs: UnityInput) -> UnityOutput:
def initialize(self, inputs: UnityInputProto) -> UnityOutputProto:
resolutions = [
ResolutionProto(width=30, height=40, gray_scale=False)
for i in range(self.visual_inputs)

brain_name=self.brain_name,
is_training=True,
)
rl_init = UnityRLInitializationOutput(
rl_init = UnityRLInitializationOutputProto(
return UnityOutput(rl_initialization_output=rl_init)
return UnityOutputProto(rl_initialization_output=rl_init)
def exchange(self, inputs: UnityInput) -> UnityOutput:
def exchange(self, inputs: UnityInputProto) -> UnityOutputProto:
dict_agent_info = {}
if self.is_discrete:
vector_action = [1]

id=i,
)
)
dict_agent_info["RealFakeBrain"] = UnityRLOutput.ListAgentInfoProto(
dict_agent_info["RealFakeBrain"] = UnityRLOutputProto.ListAgentInfoProto(
result = UnityRLOutput(agentInfos=dict_agent_info)
return UnityOutput(rl_output=result)
result = UnityRLOutputProto(agentInfos=dict_agent_info)
return UnityOutputProto(rl_output=result)
def close(self):
"""

26
ml-agents-envs/mlagents/envs/rpc_communicator.py


from .communicator import Communicator
from mlagents.envs.communicator_objects.unity_to_external_pb2_grpc import (
UnityToExternalServicer,
add_UnityToExternalServicer_to_server,
UnityToExternalProtoServicer,
add_UnityToExternalProtoServicer_to_server,
from mlagents.envs.communicator_objects.unity_message_pb2 import UnityMessage
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInput
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutput
from mlagents.envs.communicator_objects.unity_message_pb2 import UnityMessageProto
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInputProto
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutputProto
class UnityToExternalServicerImplementation(UnityToExternalServicer):
class UnityToExternalServicerImplementation(UnityToExternalProtoServicer):
def __init__(self):
self.parent_conn, self.child_conn = Pipe()

# Establish communication grpc
self.server = grpc.server(ThreadPoolExecutor(max_workers=10))
self.unity_to_external = UnityToExternalServicerImplementation()
add_UnityToExternalServicer_to_server(self.unity_to_external, self.server)
add_UnityToExternalProtoServicer_to_server(
self.unity_to_external, self.server
)
# Using unspecified address, which means that grpc is communicating on all IPs
# This is so that the docker container can connect.
self.server.add_insecure_port("[::]:" + str(self.port))

finally:
s.close()
def initialize(self, inputs: UnityInput) -> UnityOutput:
def initialize(self, inputs: UnityInputProto) -> UnityOutputProto:
if not self.unity_to_external.parent_conn.poll(self.timeout_wait):
raise UnityTimeOutException(
"The Unity environment took too long to respond. Make sure that :\n"

"\t The environment and the Python interface have compatible versions."
)
aca_param = self.unity_to_external.parent_conn.recv().unity_output
message = UnityMessage()
message = UnityMessageProto()
message.header.status = 200
message.unity_input.CopyFrom(inputs)
self.unity_to_external.parent_conn.send(message)

def exchange(self, inputs: UnityInput) -> Optional[UnityOutput]:
message = UnityMessage()
def exchange(self, inputs: UnityInputProto) -> Optional[UnityOutputProto]:
message = UnityMessageProto()
message.header.status = 200
message.unity_input.CopyFrom(inputs)
self.unity_to_external.parent_conn.send(message)

Sends a shutdown signal to the unity environment, and closes the grpc connection.
"""
if self.is_open:
message_input = UnityMessage()
message_input = UnityMessageProto()
message_input.header.status = 400
self.unity_to_external.parent_conn.send(message_input)
self.unity_to_external.parent_conn.close()

20
ml-agents-envs/mlagents/envs/socket_communicator.py


from typing import Optional
from .communicator import Communicator
from mlagents.envs.communicator_objects.unity_message_pb2 import UnityMessage
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutput
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInput
from mlagents.envs.communicator_objects.unity_message_pb2 import UnityMessageProto
from mlagents.envs.communicator_objects.unity_output_pb2 import UnityOutputProto
from mlagents.envs.communicator_objects.unity_input_pb2 import UnityInputProto
from .exception import UnityTimeOutException

self._socket = None
self._conn = None
def initialize(self, inputs: UnityInput) -> UnityOutput:
def initialize(self, inputs: UnityInputProto) -> UnityOutputProto:
try:
# Establish communication socket
self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

"\t The Agents are linked to the appropriate Brains\n"
"\t The environment and the Python interface have compatible versions."
)
message = UnityMessage()
message = UnityMessageProto()
initialization_output = UnityMessage()
initialization_output = UnityMessageProto()
initialization_output.ParseFromString(self._communicator_receive())
return initialization_output.unity_output

def _communicator_send(self, message):
self._conn.send(struct.pack("I", len(message)) + message)
def exchange(self, inputs: UnityInput) -> Optional[UnityOutput]:
message = UnityMessage()
def exchange(self, inputs: UnityInputProto) -> Optional[UnityOutputProto]:
message = UnityMessageProto()
outputs = UnityMessage()
outputs = UnityMessageProto()
outputs.ParseFromString(self._communicator_receive())
if outputs.header.status != 200:
return None

Sends a shutdown signal to the unity environment, and closes the socket connection.
"""
if self._socket is not None and self._conn is not None:
message_input = UnityMessage()
message_input = UnityMessageProto()
message_input.header.status = 400
self._communicator_send(message_input.SerializeToString())
if self._socket is not None:

8
ml-agents/mlagents/trainers/demo_loader.py


from typing import List, Tuple
from mlagents.trainers.buffer import Buffer
from mlagents.envs.brain import BrainParameters, BrainInfo
from mlagents.envs.communicator_objects.agent_info_proto_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.brain_parameters_proto_pb2 import (
BrainParametersProto,
)
from mlagents.envs.communicator_objects.demonstration_meta_proto_pb2 import (
from mlagents.envs.communicator_objects.agent_info_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.brain_parameters_pb2 import BrainParametersProto
from mlagents.envs.communicator_objects.demonstration_meta_pb2 import (
DemonstrationMetaProto,
)
from google.protobuf.internal.decoder import _DecodeVarint32 # type: ignore

2
ml-agents/mlagents/trainers/tests/test_simple_rl.py


from mlagents.trainers.trainer_util import initialize_trainers
from mlagents.envs.base_unity_environment import BaseUnityEnvironment
from mlagents.envs.brain import BrainInfo, AllBrainInfo, BrainParameters
from mlagents.envs.communicator_objects.agent_info_proto_pb2 import AgentInfoProto
from mlagents.envs.communicator_objects.agent_info_pb2 import AgentInfoProto
from mlagents.envs.simple_env_manager import SimpleEnvManager
from mlagents.envs.sampler_class import SamplerManager

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_action.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message CustomAction {
message CustomActionProto {
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_observation.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message CustomObservation {
message CustomObservationProto {
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/custom_reset_parameters.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message CustomResetParameters {
message CustomResetParametersProto {
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/header.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message Header {
message HeaderProto {
int32 status = 1;
string message = 2;
}

6
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_input.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message UnityInput {
UnityRLInput rl_input = 1;
UnityRLInitializationInput rl_initialization_input = 2;
message UnityInputProto {
UnityRLInputProto rl_input = 1;
UnityRLInitializationInputProto rl_initialization_input = 2;
//More messages can be added here
}

8
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_message.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message UnityMessage {
Header header = 1;
UnityOutput unity_output = 2;
UnityInput unity_input = 3;
message UnityMessageProto {
HeaderProto header = 1;
UnityOutputProto unity_output = 2;
UnityInputProto unity_input = 3;
}

6
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_output.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message UnityOutput {
UnityRLOutput rl_output = 1;
UnityRLInitializationOutput rl_initialization_output = 2;
message UnityOutputProto {
UnityRLOutputProto rl_output = 1;
UnityRLInitializationOutputProto rl_initialization_output = 2;
//More messages can be added here
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_initialization_input.proto


package communicator_objects;
message UnityRLInitializationInput {
message UnityRLInitializationInputProto {
int32 seed = 1;
}

6
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_initialization_output.proto


syntax = "proto3";
import "mlagents/envs/communicator_objects/brain_parameters_proto.proto";
import "mlagents/envs/communicator_objects/environment_parameters_proto.proto";
import "mlagents/envs/communicator_objects/brain_parameters.proto";
import "mlagents/envs/communicator_objects/environment_parameters.proto";
message UnityRLInitializationOutput {
message UnityRLInitializationOutputProto {
string name = 1;
string version = 2;
string log_path = 3;

8
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_input.proto


syntax = "proto3";
import "mlagents/envs/communicator_objects/agent_action_proto.proto";
import "mlagents/envs/communicator_objects/environment_parameters_proto.proto";
import "mlagents/envs/communicator_objects/command_proto.proto";
import "mlagents/envs/communicator_objects/agent_action.proto";
import "mlagents/envs/communicator_objects/environment_parameters.proto";
import "mlagents/envs/communicator_objects/command.proto";
message UnityRLInput {
message UnityRLInputProto {
message ListAgentActionProto {
repeated AgentActionProto value = 1;
}

4
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_rl_output.proto


syntax = "proto3";
import "mlagents/envs/communicator_objects/agent_info_proto.proto";
import "mlagents/envs/communicator_objects/agent_info.proto";
message UnityRLOutput {
message UnityRLOutputProto {
message ListAgentInfoProto {
repeated AgentInfoProto value = 1;
}

4
protobuf-definitions/proto/mlagents/envs/communicator_objects/unity_to_external.proto


option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
service UnityToExternal {
service UnityToExternalProto {
rpc Exchange(UnityMessage) returns (UnityMessage) {}
rpc Exchange(UnityMessageProto) returns (UnityMessageProto) {}
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/agent_action.proto


string text_actions = 2;
repeated float memories = 3;
float value = 4;
CustomAction custom_action = 5;
CustomActionProto custom_action = 5;
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/agent_info.proto


bool max_step_reached = 9;
int32 id = 10;
repeated bool action_mask = 11;
CustomObservation custom_observation = 12;
CustomObservationProto custom_observation = 12;
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/environment_parameters.proto


message EnvironmentParametersProto {
map<string, float> float_parameters = 1;
CustomResetParameters custom_reset_parameters = 2;
CustomResetParametersProto custom_reset_parameters = 2;
}

2
protobuf-definitions/proto/mlagents/envs/communicator_objects/space_type.proto


syntax = "proto3";
import "mlagents/envs/communicator_objects/resolution_proto.proto";
import "mlagents/envs/communicator_objects/resolution.proto";
option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;

282
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/AgentAction.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/agent_action.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/agent_action.proto</summary>
public static partial class AgentActionReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/agent_action.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static AgentActionReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjVtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2FnZW50X2Fj",
"dGlvbi5wcm90bxIUY29tbXVuaWNhdG9yX29iamVjdHMaNm1sYWdlbnRzL2Vu",
"dnMvY29tbXVuaWNhdG9yX29iamVjdHMvY3VzdG9tX2FjdGlvbi5wcm90byKh",
"AQoQQWdlbnRBY3Rpb25Qcm90bxIWCg52ZWN0b3JfYWN0aW9ucxgBIAMoAhIU",
"Cgx0ZXh0X2FjdGlvbnMYAiABKAkSEAoIbWVtb3JpZXMYAyADKAISDQoFdmFs",
"dWUYBCABKAISPgoNY3VzdG9tX2FjdGlvbhgFIAEoCzInLmNvbW11bmljYXRv",
"cl9vYmplY3RzLkN1c3RvbUFjdGlvblByb3RvQh+qAhxNTEFnZW50cy5Db21t",
"dW5pY2F0b3JPYmplY3RzYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.CustomActionReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.AgentActionProto), global::MLAgents.CommunicatorObjects.AgentActionProto.Parser, new[]{ "VectorActions", "TextActions", "Memories", "Value", "CustomAction" }, null, null, null)
}));
}
#endregion
}
#region Messages
public sealed partial class AgentActionProto : pb::IMessage<AgentActionProto> {
private static readonly pb::MessageParser<AgentActionProto> _parser = new pb::MessageParser<AgentActionProto>(() => new AgentActionProto());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<AgentActionProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.AgentActionReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public AgentActionProto() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public AgentActionProto(AgentActionProto other) : this() {
vectorActions_ = other.vectorActions_.Clone();
textActions_ = other.textActions_;
memories_ = other.memories_.Clone();
value_ = other.value_;
CustomAction = other.customAction_ != null ? other.CustomAction.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public AgentActionProto Clone() {
return new AgentActionProto(this);
}
/// <summary>Field number for the "vector_actions" field.</summary>
public const int VectorActionsFieldNumber = 1;
private static readonly pb::FieldCodec<float> _repeated_vectorActions_codec
= pb::FieldCodec.ForFloat(10);
private readonly pbc::RepeatedField<float> vectorActions_ = new pbc::RepeatedField<float>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<float> VectorActions {
get { return vectorActions_; }
}
/// <summary>Field number for the "text_actions" field.</summary>
public const int TextActionsFieldNumber = 2;
private string textActions_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string TextActions {
get { return textActions_; }
set {
textActions_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "memories" field.</summary>
public const int MemoriesFieldNumber = 3;
private static readonly pb::FieldCodec<float> _repeated_memories_codec
= pb::FieldCodec.ForFloat(26);
private readonly pbc::RepeatedField<float> memories_ = new pbc::RepeatedField<float>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<float> Memories {
get { return memories_; }
}
/// <summary>Field number for the "value" field.</summary>
public const int ValueFieldNumber = 4;
private float value_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public float Value {
get { return value_; }
set {
value_ = value;
}
}
/// <summary>Field number for the "custom_action" field.</summary>
public const int CustomActionFieldNumber = 5;
private global::MLAgents.CommunicatorObjects.CustomActionProto customAction_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::MLAgents.CommunicatorObjects.CustomActionProto CustomAction {
get { return customAction_; }
set {
customAction_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as AgentActionProto);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(AgentActionProto other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if(!vectorActions_.Equals(other.vectorActions_)) return false;
if (TextActions != other.TextActions) return false;
if(!memories_.Equals(other.memories_)) return false;
if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Value, other.Value)) return false;
if (!object.Equals(CustomAction, other.CustomAction)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
hash ^= vectorActions_.GetHashCode();
if (TextActions.Length != 0) hash ^= TextActions.GetHashCode();
hash ^= memories_.GetHashCode();
if (Value != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Value);
if (customAction_ != null) hash ^= CustomAction.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
vectorActions_.WriteTo(output, _repeated_vectorActions_codec);
if (TextActions.Length != 0) {
output.WriteRawTag(18);
output.WriteString(TextActions);
}
memories_.WriteTo(output, _repeated_memories_codec);
if (Value != 0F) {
output.WriteRawTag(37);
output.WriteFloat(Value);
}
if (customAction_ != null) {
output.WriteRawTag(42);
output.WriteMessage(CustomAction);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
size += vectorActions_.CalculateSize(_repeated_vectorActions_codec);
if (TextActions.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(TextActions);
}
size += memories_.CalculateSize(_repeated_memories_codec);
if (Value != 0F) {
size += 1 + 4;
}
if (customAction_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(CustomAction);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(AgentActionProto other) {
if (other == null) {
return;
}
vectorActions_.Add(other.vectorActions_);
if (other.TextActions.Length != 0) {
TextActions = other.TextActions;
}
memories_.Add(other.memories_);
if (other.Value != 0F) {
Value = other.Value;
}
if (other.customAction_ != null) {
if (customAction_ == null) {
customAction_ = new global::MLAgents.CommunicatorObjects.CustomActionProto();
}
CustomAction.MergeFrom(other.CustomAction);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10:
case 13: {
vectorActions_.AddEntriesFrom(input, _repeated_vectorActions_codec);
break;
}
case 18: {
TextActions = input.ReadString();
break;
}
case 26:
case 29: {
memories_.AddEntriesFrom(input, _repeated_memories_codec);
break;
}
case 37: {
Value = input.ReadFloat();
break;
}
case 42: {
if (customAction_ == null) {
customAction_ = new global::MLAgents.CommunicatorObjects.CustomActionProto();
}
input.ReadMessage(customAction_);
break;
}
}
}
}
}
#endregion
}
#endregion Designer generated code

356
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/BrainParameters.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/brain_parameters.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/brain_parameters.proto</summary>
public static partial class BrainParametersReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/brain_parameters.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static BrainParametersReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjltbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2JyYWluX3Bh",
"cmFtZXRlcnMucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGjNtbGFnZW50",
"cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3Jlc29sdXRpb24ucHJvdG8a",
"M21sYWdlbnRzL2VudnMvY29tbXVuaWNhdG9yX29iamVjdHMvc3BhY2VfdHlw",
"ZS5wcm90byLUAgoUQnJhaW5QYXJhbWV0ZXJzUHJvdG8SHwoXdmVjdG9yX29i",
"c2VydmF0aW9uX3NpemUYASABKAUSJwofbnVtX3N0YWNrZWRfdmVjdG9yX29i",
"c2VydmF0aW9ucxgCIAEoBRIaChJ2ZWN0b3JfYWN0aW9uX3NpemUYAyADKAUS",
"QQoSY2FtZXJhX3Jlc29sdXRpb25zGAQgAygLMiUuY29tbXVuaWNhdG9yX29i",
"amVjdHMuUmVzb2x1dGlvblByb3RvEiIKGnZlY3Rvcl9hY3Rpb25fZGVzY3Jp",
"cHRpb25zGAUgAygJEkYKGHZlY3Rvcl9hY3Rpb25fc3BhY2VfdHlwZRgGIAEo",
"DjIkLmNvbW11bmljYXRvcl9vYmplY3RzLlNwYWNlVHlwZVByb3RvEhIKCmJy",
"YWluX25hbWUYByABKAkSEwoLaXNfdHJhaW5pbmcYCCABKAhCH6oCHE1MQWdl",
"bnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.ResolutionReflection.Descriptor, global::MLAgents.CommunicatorObjects.SpaceTypeReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.BrainParametersProto), global::MLAgents.CommunicatorObjects.BrainParametersProto.Parser, new[]{ "VectorObservationSize", "NumStackedVectorObservations", "VectorActionSize", "CameraResolutions", "VectorActionDescriptions", "VectorActionSpaceType", "BrainName", "IsTraining" }, null, null, null)
}));
}
#endregion
}
#region Messages
public sealed partial class BrainParametersProto : pb::IMessage<BrainParametersProto> {
private static readonly pb::MessageParser<BrainParametersProto> _parser = new pb::MessageParser<BrainParametersProto>(() => new BrainParametersProto());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<BrainParametersProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.BrainParametersReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public BrainParametersProto() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public BrainParametersProto(BrainParametersProto other) : this() {
vectorObservationSize_ = other.vectorObservationSize_;
numStackedVectorObservations_ = other.numStackedVectorObservations_;
vectorActionSize_ = other.vectorActionSize_.Clone();
cameraResolutions_ = other.cameraResolutions_.Clone();
vectorActionDescriptions_ = other.vectorActionDescriptions_.Clone();
vectorActionSpaceType_ = other.vectorActionSpaceType_;
brainName_ = other.brainName_;
isTraining_ = other.isTraining_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public BrainParametersProto Clone() {
return new BrainParametersProto(this);
}
/// <summary>Field number for the "vector_observation_size" field.</summary>
public const int VectorObservationSizeFieldNumber = 1;
private int vectorObservationSize_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int VectorObservationSize {
get { return vectorObservationSize_; }
set {
vectorObservationSize_ = value;
}
}
/// <summary>Field number for the "num_stacked_vector_observations" field.</summary>
public const int NumStackedVectorObservationsFieldNumber = 2;
private int numStackedVectorObservations_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int NumStackedVectorObservations {
get { return numStackedVectorObservations_; }
set {
numStackedVectorObservations_ = value;
}
}
/// <summary>Field number for the "vector_action_size" field.</summary>
public const int VectorActionSizeFieldNumber = 3;
private static readonly pb::FieldCodec<int> _repeated_vectorActionSize_codec
= pb::FieldCodec.ForInt32(26);
private readonly pbc::RepeatedField<int> vectorActionSize_ = new pbc::RepeatedField<int>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<int> VectorActionSize {
get { return vectorActionSize_; }
}
/// <summary>Field number for the "camera_resolutions" field.</summary>
public const int CameraResolutionsFieldNumber = 4;
private static readonly pb::FieldCodec<global::MLAgents.CommunicatorObjects.ResolutionProto> _repeated_cameraResolutions_codec
= pb::FieldCodec.ForMessage(34, global::MLAgents.CommunicatorObjects.ResolutionProto.Parser);
private readonly pbc::RepeatedField<global::MLAgents.CommunicatorObjects.ResolutionProto> cameraResolutions_ = new pbc::RepeatedField<global::MLAgents.CommunicatorObjects.ResolutionProto>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<global::MLAgents.CommunicatorObjects.ResolutionProto> CameraResolutions {
get { return cameraResolutions_; }
}
/// <summary>Field number for the "vector_action_descriptions" field.</summary>
public const int VectorActionDescriptionsFieldNumber = 5;
private static readonly pb::FieldCodec<string> _repeated_vectorActionDescriptions_codec
= pb::FieldCodec.ForString(42);
private readonly pbc::RepeatedField<string> vectorActionDescriptions_ = new pbc::RepeatedField<string>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::RepeatedField<string> VectorActionDescriptions {
get { return vectorActionDescriptions_; }
}
/// <summary>Field number for the "vector_action_space_type" field.</summary>
public const int VectorActionSpaceTypeFieldNumber = 6;
private global::MLAgents.CommunicatorObjects.SpaceTypeProto vectorActionSpaceType_ = 0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::MLAgents.CommunicatorObjects.SpaceTypeProto VectorActionSpaceType {
get { return vectorActionSpaceType_; }
set {
vectorActionSpaceType_ = value;
}
}
/// <summary>Field number for the "brain_name" field.</summary>
public const int BrainNameFieldNumber = 7;
private string brainName_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string BrainName {
get { return brainName_; }
set {
brainName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "is_training" field.</summary>
public const int IsTrainingFieldNumber = 8;
private bool isTraining_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool IsTraining {
get { return isTraining_; }
set {
isTraining_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as BrainParametersProto);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(BrainParametersProto other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (VectorObservationSize != other.VectorObservationSize) return false;
if (NumStackedVectorObservations != other.NumStackedVectorObservations) return false;
if(!vectorActionSize_.Equals(other.vectorActionSize_)) return false;
if(!cameraResolutions_.Equals(other.cameraResolutions_)) return false;
if(!vectorActionDescriptions_.Equals(other.vectorActionDescriptions_)) return false;
if (VectorActionSpaceType != other.VectorActionSpaceType) return false;
if (BrainName != other.BrainName) return false;
if (IsTraining != other.IsTraining) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
if (VectorObservationSize != 0) hash ^= VectorObservationSize.GetHashCode();
if (NumStackedVectorObservations != 0) hash ^= NumStackedVectorObservations.GetHashCode();
hash ^= vectorActionSize_.GetHashCode();
hash ^= cameraResolutions_.GetHashCode();
hash ^= vectorActionDescriptions_.GetHashCode();
if (VectorActionSpaceType != 0) hash ^= VectorActionSpaceType.GetHashCode();
if (BrainName.Length != 0) hash ^= BrainName.GetHashCode();
if (IsTraining != false) hash ^= IsTraining.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
if (VectorObservationSize != 0) {
output.WriteRawTag(8);
output.WriteInt32(VectorObservationSize);
}
if (NumStackedVectorObservations != 0) {
output.WriteRawTag(16);
output.WriteInt32(NumStackedVectorObservations);
}
vectorActionSize_.WriteTo(output, _repeated_vectorActionSize_codec);
cameraResolutions_.WriteTo(output, _repeated_cameraResolutions_codec);
vectorActionDescriptions_.WriteTo(output, _repeated_vectorActionDescriptions_codec);
if (VectorActionSpaceType != 0) {
output.WriteRawTag(48);
output.WriteEnum((int) VectorActionSpaceType);
}
if (BrainName.Length != 0) {
output.WriteRawTag(58);
output.WriteString(BrainName);
}
if (IsTraining != false) {
output.WriteRawTag(64);
output.WriteBool(IsTraining);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
if (VectorObservationSize != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(VectorObservationSize);
}
if (NumStackedVectorObservations != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumStackedVectorObservations);
}
size += vectorActionSize_.CalculateSize(_repeated_vectorActionSize_codec);
size += cameraResolutions_.CalculateSize(_repeated_cameraResolutions_codec);
size += vectorActionDescriptions_.CalculateSize(_repeated_vectorActionDescriptions_codec);
if (VectorActionSpaceType != 0) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) VectorActionSpaceType);
}
if (BrainName.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(BrainName);
}
if (IsTraining != false) {
size += 1 + 1;
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(BrainParametersProto other) {
if (other == null) {
return;
}
if (other.VectorObservationSize != 0) {
VectorObservationSize = other.VectorObservationSize;
}
if (other.NumStackedVectorObservations != 0) {
NumStackedVectorObservations = other.NumStackedVectorObservations;
}
vectorActionSize_.Add(other.vectorActionSize_);
cameraResolutions_.Add(other.cameraResolutions_);
vectorActionDescriptions_.Add(other.vectorActionDescriptions_);
if (other.VectorActionSpaceType != 0) {
VectorActionSpaceType = other.VectorActionSpaceType;
}
if (other.BrainName.Length != 0) {
BrainName = other.BrainName;
}
if (other.IsTraining != false) {
IsTraining = other.IsTraining;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
VectorObservationSize = input.ReadInt32();
break;
}
case 16: {
NumStackedVectorObservations = input.ReadInt32();
break;
}
case 26:
case 24: {
vectorActionSize_.AddEntriesFrom(input, _repeated_vectorActionSize_codec);
break;
}
case 34: {
cameraResolutions_.AddEntriesFrom(input, _repeated_cameraResolutions_codec);
break;
}
case 42: {
vectorActionDescriptions_.AddEntriesFrom(input, _repeated_vectorActionDescriptions_codec);
break;
}
case 48: {
vectorActionSpaceType_ = (global::MLAgents.CommunicatorObjects.SpaceTypeProto) input.ReadEnum();
break;
}
case 58: {
BrainName = input.ReadString();
break;
}
case 64: {
IsTraining = input.ReadBool();
break;
}
}
}
}
}
#endregion
}
#endregion Designer generated code

49
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/Command.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/command.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/command.proto</summary>
public static partial class CommandReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/command.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static CommandReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjBtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2NvbW1hbmQu",
"cHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzKi0KDENvbW1hbmRQcm90bxII",
"CgRTVEVQEAASCQoFUkVTRVQQARIICgRRVUlUEAJCH6oCHE1MQWdlbnRzLkNv",
"bW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::MLAgents.CommunicatorObjects.CommandProto), }, null));
}
#endregion
}
#region Enums
public enum CommandProto {
[pbr::OriginalName("STEP")] Step = 0,
[pbr::OriginalName("RESET")] Reset = 1,
[pbr::OriginalName("QUIT")] Quit = 2,
}
#endregion
}
#endregion Designer generated code

207
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/EnvironmentParameters.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/environment_parameters.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/environment_parameters.proto</summary>
public static partial class EnvironmentParametersReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/environment_parameters.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static EnvironmentParametersReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Cj9tbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2Vudmlyb25t",
"ZW50X3BhcmFtZXRlcnMucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGkBt",
"bGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2N1c3RvbV9yZXNl",
"dF9wYXJhbWV0ZXJzLnByb3RvIogCChpFbnZpcm9ubWVudFBhcmFtZXRlcnNQ",
"cm90bxJfChBmbG9hdF9wYXJhbWV0ZXJzGAEgAygLMkUuY29tbXVuaWNhdG9y",
"X29iamVjdHMuRW52aXJvbm1lbnRQYXJhbWV0ZXJzUHJvdG8uRmxvYXRQYXJh",
"bWV0ZXJzRW50cnkSUQoXY3VzdG9tX3Jlc2V0X3BhcmFtZXRlcnMYAiABKAsy",
"MC5jb21tdW5pY2F0b3Jfb2JqZWN0cy5DdXN0b21SZXNldFBhcmFtZXRlcnNQ",
"cm90bxo2ChRGbG9hdFBhcmFtZXRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoF",
"dmFsdWUYAiABKAI6AjgBQh+qAhxNTEFnZW50cy5Db21tdW5pY2F0b3JPYmpl",
"Y3RzYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.CustomResetParametersReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::MLAgents.CommunicatorObjects.EnvironmentParametersProto), global::MLAgents.CommunicatorObjects.EnvironmentParametersProto.Parser, new[]{ "FloatParameters", "CustomResetParameters" }, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
}));
}
#endregion
}
#region Messages
public sealed partial class EnvironmentParametersProto : pb::IMessage<EnvironmentParametersProto> {
private static readonly pb::MessageParser<EnvironmentParametersProto> _parser = new pb::MessageParser<EnvironmentParametersProto>(() => new EnvironmentParametersProto());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb::MessageParser<EnvironmentParametersProto> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr::MessageDescriptor Descriptor {
get { return global::MLAgents.CommunicatorObjects.EnvironmentParametersReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public EnvironmentParametersProto() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public EnvironmentParametersProto(EnvironmentParametersProto other) : this() {
floatParameters_ = other.floatParameters_.Clone();
CustomResetParameters = other.customResetParameters_ != null ? other.CustomResetParameters.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public EnvironmentParametersProto Clone() {
return new EnvironmentParametersProto(this);
}
/// <summary>Field number for the "float_parameters" field.</summary>
public const int FloatParametersFieldNumber = 1;
private static readonly pbc::MapField<string, float>.Codec _map_floatParameters_codec
= new pbc::MapField<string, float>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForFloat(21), 10);
private readonly pbc::MapField<string, float> floatParameters_ = new pbc::MapField<string, float>();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public pbc::MapField<string, float> FloatParameters {
get { return floatParameters_; }
}
/// <summary>Field number for the "custom_reset_parameters" field.</summary>
public const int CustomResetParametersFieldNumber = 2;
private global::MLAgents.CommunicatorObjects.CustomResetParametersProto customResetParameters_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::MLAgents.CommunicatorObjects.CustomResetParametersProto CustomResetParameters {
get { return customResetParameters_; }
set {
customResetParameters_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) {
return Equals(other as EnvironmentParametersProto);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals(EnvironmentParametersProto other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!FloatParameters.Equals(other.FloatParameters)) return false;
if (!object.Equals(CustomResetParameters, other.CustomResetParameters)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
hash ^= FloatParameters.GetHashCode();
if (customResetParameters_ != null) hash ^= CustomResetParameters.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
floatParameters_.WriteTo(output, _map_floatParameters_codec);
if (customResetParameters_ != null) {
output.WriteRawTag(18);
output.WriteMessage(CustomResetParameters);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
size += floatParameters_.CalculateSize(_map_floatParameters_codec);
if (customResetParameters_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(CustomResetParameters);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(EnvironmentParametersProto other) {
if (other == null) {
return;
}
floatParameters_.Add(other.floatParameters_);
if (other.customResetParameters_ != null) {
if (customResetParameters_ == null) {
customResetParameters_ = new global::MLAgents.CommunicatorObjects.CustomResetParametersProto();
}
CustomResetParameters.MergeFrom(other.CustomResetParameters);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom(pb::CodedInputStream input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
floatParameters_.AddEntriesFrom(input, _map_floatParameters_codec);
break;
}
case 18: {
if (customResetParameters_ == null) {
customResetParameters_ = new global::MLAgents.CommunicatorObjects.CustomResetParametersProto();
}
input.ReadMessage(customResetParameters_);
break;
}
}
}
}
}
#endregion
}
#endregion Designer generated code

49
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceType.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/space_type.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/space_type.proto</summary>
public static partial class SpaceTypeReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/space_type.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static SpaceTypeReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjNtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3NwYWNlX3R5",
"cGUucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGjNtbGFnZW50cy9lbnZz",
"L2NvbW11bmljYXRvcl9vYmplY3RzL3Jlc29sdXRpb24ucHJvdG8qLgoOU3Bh",
"Y2VUeXBlUHJvdG8SDAoIZGlzY3JldGUQABIOCgpjb250aW51b3VzEAFCH6oC",
"HE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.ResolutionReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::MLAgents.CommunicatorObjects.SpaceTypeProto), }, null));
}
#endregion
}
#region Enums
public enum SpaceTypeProto {
[pbr::OriginalName("discrete")] Discrete = 0,
[pbr::OriginalName("continuous")] Continuous = 1,
}
#endregion
}
#endregion Designer generated code

66
ml-agents-envs/mlagents/envs/communicator_objects/brain_parameters_pb2.pyi


# @generated by generate_proto_mypy_stubs.py. Do not edit!
import sys
from google.protobuf.descriptor import (
Descriptor as google___protobuf___descriptor___Descriptor,
)
from google.protobuf.internal.containers import (
RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)
from google.protobuf.message import (
Message as google___protobuf___message___Message,
)
from mlagents.envs.communicator_objects.resolution_pb2 import (
ResolutionProto as mlagents___envs___communicator_objects___resolution_pb2___ResolutionProto,
)
from mlagents.envs.communicator_objects.space_type_pb2 import (
SpaceTypeProto as mlagents___envs___communicator_objects___space_type_pb2___SpaceTypeProto,
)
from typing import (
Iterable as typing___Iterable,
Optional as typing___Optional,
Text as typing___Text,
)
from typing_extensions import (
Literal as typing_extensions___Literal,
)
class BrainParametersProto(google___protobuf___message___Message):
DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
vector_observation_size = ... # type: int
num_stacked_vector_observations = ... # type: int
vector_action_size = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]
vector_action_descriptions = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]
vector_action_space_type = ... # type: mlagents___envs___communicator_objects___space_type_pb2___SpaceTypeProto
brain_name = ... # type: typing___Text
is_training = ... # type: bool
@property
def camera_resolutions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[mlagents___envs___communicator_objects___resolution_pb2___ResolutionProto]: ...
def __init__(self,
*,
vector_observation_size : typing___Optional[int] = None,
num_stacked_vector_observations : typing___Optional[int] = None,
vector_action_size : typing___Optional[typing___Iterable[int]] = None,
camera_resolutions : typing___Optional[typing___Iterable[mlagents___envs___communicator_objects___resolution_pb2___ResolutionProto]] = None,
vector_action_descriptions : typing___Optional[typing___Iterable[typing___Text]] = None,
vector_action_space_type : typing___Optional[mlagents___envs___communicator_objects___space_type_pb2___SpaceTypeProto] = None,
brain_name : typing___Optional[typing___Text] = None,
is_training : typing___Optional[bool] = None,
) -> None: ...
@classmethod
def FromString(cls, s: bytes) -> BrainParametersProto: ...
def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
if sys.version_info >= (3,):
def ClearField(self, field_name: typing_extensions___Literal[u"brain_name",u"camera_resolutions",u"is_training",u"num_stacked_vector_observations",u"vector_action_descriptions",u"vector_action_size",u"vector_action_space_type",u"vector_observation_size"]) -> None: ...
else:
def ClearField(self, field_name: typing_extensions___Literal[u"brain_name",b"brain_name",u"camera_resolutions",b"camera_resolutions",u"is_training",b"is_training",u"num_stacked_vector_observations",b"num_stacked_vector_observations",u"vector_action_descriptions",b"vector_action_descriptions",u"vector_action_size",b"vector_action_size",u"vector_action_space_type",b"vector_action_space_type",u"vector_observation_size",b"vector_observation_size"]) -> None: ...

61
ml-agents-envs/mlagents/envs/communicator_objects/space_type_pb2.py


# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: mlagents/envs/communicator_objects/space_type.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
from mlagents.envs.communicator_objects import resolution_pb2 as mlagents_dot_envs_dot_communicator__objects_dot_resolution__pb2
DESCRIPTOR = _descriptor.FileDescriptor(
name='mlagents/envs/communicator_objects/space_type.proto',
package='communicator_objects',
syntax='proto3',
serialized_pb=_b('\n3mlagents/envs/communicator_objects/space_type.proto\x12\x14\x63ommunicator_objects\x1a\x33mlagents/envs/communicator_objects/resolution.proto*.\n\x0eSpaceTypeProto\x12\x0c\n\x08\x64iscrete\x10\x00\x12\x0e\n\ncontinuous\x10\x01\x42\x1f\xaa\x02\x1cMLAgents.CommunicatorObjectsb\x06proto3')
,
dependencies=[mlagents_dot_envs_dot_communicator__objects_dot_resolution__pb2.DESCRIPTOR,])
_SPACETYPEPROTO = _descriptor.EnumDescriptor(
name='SpaceTypeProto',
full_name='communicator_objects.SpaceTypeProto',
filename=None,
file=DESCRIPTOR,
values=[
_descriptor.EnumValueDescriptor(
name='discrete', index=0, number=0,
options=None,
type=None),
_descriptor.EnumValueDescriptor(
name='continuous', index=1, number=1,
options=None,
type=None),
],
containing_type=None,
options=None,
serialized_start=130,
serialized_end=176,
)
_sym_db.RegisterEnumDescriptor(_SPACETYPEPROTO)
SpaceTypeProto = enum_type_wrapper.EnumTypeWrapper(_SPACETYPEPROTO)
discrete = 0
continuous = 1
DESCRIPTOR.enum_types_by_name['SpaceTypeProto'] = _SPACETYPEPROTO
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\252\002\034MLAgents.CommunicatorObjects'))
# @@protoc_insertion_point(module_scope)

18
protobuf-definitions/proto/mlagents/envs/communicator_objects/brain_parameters.proto


syntax = "proto3";
import "mlagents/envs/communicator_objects/resolution.proto";
import "mlagents/envs/communicator_objects/space_type.proto";
option csharp_namespace = "MLAgents.CommunicatorObjects";
package communicator_objects;
message BrainParametersProto {
int32 vector_observation_size = 1;
int32 num_stacked_vector_observations = 2;
repeated int32 vector_action_size = 3;
repeated ResolutionProto camera_resolutions = 4;
repeated string vector_action_descriptions = 5;
SpaceTypeProto vector_action_space_type = 6;
string brain_name = 7;
bool is_training = 8;
}

50
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/SpaceTypeProto.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/space_type_proto.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/space_type_proto.proto</summary>
public static partial class SpaceTypeProtoReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/space_type_proto.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static SpaceTypeProtoReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjltbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3NwYWNlX3R5",
"cGVfcHJvdG8ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzGjltbGFnZW50",
"cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL3Jlc29sdXRpb25fcHJvdG8u",
"cHJvdG8qLgoOU3BhY2VUeXBlUHJvdG8SDAoIZGlzY3JldGUQABIOCgpjb250",
"aW51b3VzEAFCH6oCHE1MQWdlbnRzLkNvbW11bmljYXRvck9iamVjdHNiBnBy",
"b3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::MLAgents.CommunicatorObjects.ResolutionProtoReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::MLAgents.CommunicatorObjects.SpaceTypeProto), }, null));
}
#endregion
}
#region Enums
public enum SpaceTypeProto {
[pbr::OriginalName("discrete")] Discrete = 0,
[pbr::OriginalName("continuous")] Continuous = 1,
}
#endregion
}
#endregion Designer generated code

49
UnitySDK/Assets/ML-Agents/Scripts/Grpc/CommunicatorObjects/CommandProto.cs


// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: mlagents/envs/communicator_objects/command_proto.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace MLAgents.CommunicatorObjects {
/// <summary>Holder for reflection information generated from mlagents/envs/communicator_objects/command_proto.proto</summary>
public static partial class CommandProtoReflection {
#region Descriptor
/// <summary>File descriptor for mlagents/envs/communicator_objects/command_proto.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static CommandProtoReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"CjZtbGFnZW50cy9lbnZzL2NvbW11bmljYXRvcl9vYmplY3RzL2NvbW1hbmRf",
"cHJvdG8ucHJvdG8SFGNvbW11bmljYXRvcl9vYmplY3RzKi0KDENvbW1hbmRQ",
"cm90bxIICgRTVEVQEAASCQoFUkVTRVQQARIICgRRVUlUEAJCH6oCHE1MQWdl",
"bnRzLkNvbW11bmljYXRvck9iamVjdHNiBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::MLAgents.CommunicatorObjects.CommandProto), }, null));
}
#endregion
}
#region Enums
public enum CommandProto {
[pbr::OriginalName("STEP")] Step = 0,
[pbr::OriginalName("RESET")] Reset = 1,
[pbr::OriginalName("QUIT")] Quit = 2,
}
#endregion
}
#endregion Designer generated code

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存