我有一辆车设置了射线广播,使用射线感知传感器来检测3个标签.由于某些原因,我在unity中得到了警告。观测值(0)少于向量观测值(45)。
我认为因为没有观测,所以没有学习。为什么会有0个观测值?我以为雷电感知传感器会自动收集观测值并传递到行为参数中?
下面是脚本的截图。
雷电感应器:
行为参数
我自己对ML-Agent比较陌生,但我认为问题出在你的Behaviour Parameters组件中。
在向量观测下,空间大小定义了你通过代码直接反馈给代理的观测数,在CollectObservations函数中。你将其设置为45,我假设你没有在CollectObservations中提供45个值。将空间大小设置为0应该可以解决这个问题。
至于Raycasts,请确保你正确设置Ray Layer Masks。这让我困惑了一阵子。