UnityでML-Agentsを習得しようとして「Unity ML-Agents実践ゲームプログラミング」に沿ってやっていく中で発生したエラーとしては他に以下のようなものもありました。
これも備忘録として残しておきます。
目次
1.エラー内容
エラー表示内容ですが、
Sensor shapes must match. [90] != [105]
UnityEngine.Debug:AssertFormat (bool,string,object[])
のようなものでした。
具体的には、「Ray Perception Sensor 3D」で観察するTAGを増やして実行しようとした時に出たものです。
元々、高速化のためにこの本のP68あたりにあるようなやり方として、1つの環境内に複数のエージェントを配置して学習というようなやり方でやっていました。
エージェントごとプレハブ化しておいてそれを環境内に複数配置することで高速化しており、変更する場合はすべてプレハブ側で変更をかけていました。
2.解決方法
今回の観察するTAGを増やす場合もプレハブ側で変更したのですが、上記エラー発生後に確認したところ、プレハブ側で変更したにもかかわらず複数のエージェントの中でTAGが増やされてないものがありました。
どこかでプレハブではなく直接いじってしまった時があったのかもしれません。
そのため、そのエージェントを一旦削除することとし、再度プレハブから配置し直したところプレハブ側で変更した観察するTAGも他のエージェントと同様に増えるようになり上記エラーも消えました。
以上が、ML-Agentsで、「Sensor shapes must match. [90] != [105] UnityEngine.Debug:AssertFormat (bool,string,object[])」というエラーが発生した時の解決方法になります。