1

对 Unity 很陌生,我更多地来自机器学习背景。计划使用 ML Agents,并为其编写一些自定义 python / tensorflow 脚本。

是否可以根据我的硬盘驱动器中的数据以及统一环境数据进行训练?例如,在 Unity 相机旁边有额外的图像数据作为输入馈送到网络?

到目前为止,在示例和文档中还没有真正看到这一点。

谢谢!

4

1 回答 1

2

只要你能用 , , , , , , 的定长序列Vector3或者Vector2固定floatintone bool- Quaternionhot 来表达,肯定没问题。只需将它们包含AddVectorObs在 in 中CollectObservations

public override void CollectObservations()
{
    //internal info
    AddVectorObs(gameObject.transform.rotation.z);
    AddVectorObs(gameObject.transform.position);

    Vector3 externalInfo1 = ExternalInfoGetter.StaticGetInfo1();
    AddVectorObs(externalInfo1);

    float externalInfo2 = ExternalInfoGetter.StaticGetInfo2();
    AddVectorObs(externalInfo2);
}

有关更多信息,请参阅有关设计代理的文档,包括有关如何实现 one-hot 功能的信息和有关规范化输入的建议。

于 2019-11-07T18:30:00.373 回答