浏览代码

[Semantics] renaming StateType to SpaceType (#382)

/develop-generalizationTraining-TrainerController
GitHub 7 年前
当前提交
430a5486
共有 10 个文件被更改,包括 18 次插入18 次删除
  1. 2
      unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DAgent.cs
  2. 2
      unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DDecision.cs
  3. 2
      unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DHardAgent.cs
  4. 2
      unity-environment/Assets/ML-Agents/Examples/Area/Scripts/AreaAgent.cs
  5. 2
      unity-environment/Assets/ML-Agents/Examples/Hallway/Scripts/HallwayAgent.cs
  6. 6
      unity-environment/Assets/ML-Agents/Scripts/Agent.cs
  7. 6
      unity-environment/Assets/ML-Agents/Scripts/Brain.cs
  8. 8
      unity-environment/Assets/ML-Agents/Scripts/CoreBrainInternal.cs
  9. 4
      unity-environment/Assets/ML-Agents/Scripts/CoreBrainPlayer.cs
  10. 2
      unity-environment/Assets/ML-Agents/Scripts/ExternalCommunicator.cs

2
unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DAgent.cs


public override void AgentAction(float[] act)
{
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
float action_z = 2f * Mathf.Clamp(act[0], -1f, 1f);
if ((gameObject.transform.rotation.z < 0.25f && action_z > 0f) ||

2
unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DDecision.cs


{
public float[] Decide(List<float> state, List<Texture2D> observation, float reward, bool done, List<float> memory)
{
if (gameObject.GetComponent<Brain>().brainParameters.vectorActionSpaceType == StateType.continuous)
if (gameObject.GetComponent<Brain>().brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
List<float> ret = new List<float>();
if (state[2] < 0 || state[5] < 0)

2
unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DHardAgent.cs


public override void AgentAction(float[] act)
{
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
float action_z = 2f * Mathf.Clamp(act[0], -1f, 1f);
if ((gameObject.transform.rotation.z < 0.25f && action_z > 0f) ||

2
unity-environment/Assets/ML-Agents/Examples/Area/Scripts/AreaAgent.cs


float directionZ = 0;
float directionY = 0;
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
directionX = Mathf.Clamp(act[0], -1f, 1f);
directionZ = Mathf.Clamp(act[1], -1f, 1f);

2
unity-environment/Assets/ML-Agents/Examples/Hallway/Scripts/HallwayAgent.cs


Vector3 rotateDir = Vector3.zero;
//If we're using Continuous control you will need to change the Action
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
dirToGo = transform.forward * Mathf.Clamp(act[0], -1f, 1f);
rotateDir = transform.up * Mathf.Clamp(act[1], -1f, 1f);

6
unity-environment/Assets/ML-Agents/Scripts/Agent.cs


return;
BrainParameters param = brain.brainParameters;
if (param.vectorActionSpaceType == StateType.continuous)
if (param.vectorActionSpaceType == SpaceType.continuous)
{
_action.vectorActions = new float[param.vectorActionSize];
_info.StoredVectorActions = new float[param.vectorActionSize];

_action.textActions = "";
_info.memories = new List<float>();
_action.memories = new List<float>();
if (param.vectorObservationSpaceType == StateType.continuous)
if (param.vectorObservationSpaceType == SpaceType.continuous)
{
_info.vectorObservation =
new List<float>(param.vectorObservationSize);

CollectObservations();
BrainParameters param = brain.brainParameters;
if (param.vectorObservationSpaceType == StateType.continuous)
if (param.vectorObservationSpaceType == SpaceType.continuous)
{
if (_info.vectorObservation.Count != param.vectorObservationSize)
{

6
unity-environment/Assets/ML-Agents/Scripts/Brain.cs


Internal
}
public enum StateType
public enum SpaceType
{
discrete,
continuous

public string[] vectorActionDescriptions;
/**< \brief The list of strings describing what the actions correpond to */
public StateType vectorActionSpaceType = StateType.discrete;
public SpaceType vectorActionSpaceType = SpaceType.discrete;
public StateType vectorObservationSpaceType = StateType.continuous;
public SpaceType vectorObservationSpaceType = SpaceType.continuous;
/**< \brief Defines if the state is discrete or continuous */
}

8
unity-environment/Assets/ML-Agents/Scripts/CoreBrainInternal.cs


if (hasState)
{
int stateLength = 1;
if (brain.brainParameters.vectorObservationSpaceType == StateType.continuous)
if (brain.brainParameters.vectorObservationSpaceType == SpaceType.continuous)
{
stateLength = brain.brainParameters.vectorObservationSize;
}

// Create the state tensor
if (hasState)
{
if (brain.brainParameters.vectorObservationSpaceType == StateType.discrete)
if (brain.brainParameters.vectorObservationSpaceType == SpaceType.discrete)
{
var discreteInputState = new int[currentBatchSize, 1];
for (int i = 0; i < currentBatchSize; i++)

}
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
var output = networkOutput[0].GetValue() as float[,];
var i = 0;

i++;
}
}
else if (brain.brainParameters.vectorActionSpaceType == StateType.discrete)
else if (brain.brainParameters.vectorActionSpaceType == SpaceType.discrete)
{
long[,] output = networkOutput[0].GetValue() as long[,];
var i = 0;

4
unity-environment/Assets/ML-Agents/Scripts/CoreBrainPlayer.cs


{
coord.GiveBrainInfo(brain, agentInfo);
}
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
foreach (Agent agent in agentInfo.Keys)
{

broadcast = EditorGUILayout.Toggle(new GUIContent("Broadcast",
"If checked, the brain will broadcast states and actions to Python."), broadcast);
var serializedBrain = new SerializedObject(this);
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
GUILayout.Label("Edit the continuous inputs for your actions", EditorStyles.boldLabel);
var chas = serializedBrain.FindProperty("continuousPlayerActions");

2
unity-environment/Assets/ML-Agents/Scripts/ExternalCommunicator.cs


for (int i = 0; i < current_agents[brainName].Count(); i++)
{
if (brain.brainParameters.vectorActionSpaceType == StateType.continuous)
if (brain.brainParameters.vectorActionSpaceType == SpaceType.continuous)
{
current_agents[brainName][i].UpdateVectorAction(rMessage.vector_action[brainName].GetRange(
i * brain.brainParameters.vectorActionSize, brain.brainParameters.vectorActionSize).ToArray());

正在加载...
取消
保存