Python 限制Unity ML Agent/Tensorflow中的操作值
我将Unity与ML代理及其PPO实现结合使用 我有一个动作训练我的神经网络,输入值为-1:1。 当我记录该操作时,我可以看到网络总是尝试像550、630、530等值。 如何将这些限制为仅使用-1和1之间的值 我试着团结起来寻找它。找不到任何选项。 现在我试图修改PPO算法,但我找不到任何限制我的值的东西 我的日志工作方式如下: 我的代理具有AgentStep方法: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
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如果您只是向我们展示代码而不是描述它会更容易:)