Python 限制Unity ML Agent/Tensorflow中的操作值

Python 限制Unity ML Agent/Tensorflow中的操作值,python,tensorflow,unity3d,ml-agent,Python,Tensorflow,Unity3d,Ml Agent,我将Unity与ML代理及其PPO实现结合使用 我有一个动作训练我的神经网络,输入值为-1:1。 当我记录该操作时,我可以看到网络总是尝试像550、630、530等值。 如何将这些限制为仅使用-1和1之间的值 我试着团结起来寻找它。找不到任何选项。 现在我试图修改PPO算法,但我找不到任何限制我的值的东西 我的日志工作方式如下: 我的代理具有AgentStep方法: public override void AgentStep(float[] act){ if (brain.brainPar

我将Unity与ML代理及其PPO实现结合使用

我有一个动作训练我的神经网络,输入值为-1:1。 当我记录该操作时,我可以看到网络总是尝试像550、630、530等值。 如何将这些限制为仅使用-1和1之间的值

我试着团结起来寻找它。找不到任何选项。 现在我试图修改PPO算法,但我找不到任何限制我的值的东西

我的日志工作方式如下: 我的代理具有AgentStep方法:

public override void AgentStep(float[] act){
  if (brain.brainParameters.actionSpaceType == StateType.continuous) {
    var actionAC = act[0];
    float[] toLog = new float[2];
    object.move(actionAC);
    // some rewards including toLog[0] as reward log
    toLog[1] = actionAC;
    logger.AddLine(toLog);
  }
}
Logger是我编写的一个类,用于创建csv文件。 此输出看起来不像:

-1 530.73106
-2 530.73106
...
-234.5 -631.9137
...

提前感谢。

试试
var actionAC=Mathf.Clamp(动作[0],-1,1)

这可确保
actionAC
的值始终介于-1和1之间


您当前的代码是什么?这是unitys ml agentsQuote的标准ppo实现:“当我记录操作时”您在哪里记录?啊。我在Tensorflow代码之外的统一体中有它。我有一个类来写下一个csv文件与给定的数据。在agentstep的“我的代理”中,我将actionInput保存为变量,并使用该变量调用我的csvwriter。@ChrizZlyBear如果您只是向我们展示代码而不是描述它会更容易:)