質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

288閲覧

ML-agentsの3DBallLearningBrainにサンプルモデルを適用したい

yoan

総合スコア11

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2019/07/02 07:26

編集2019/07/02 07:45

前提・実現したいこと

Unity ML-Agentsを新しく導入したので、Exampleの3DBallを動かして慣れようとしています。

ここを参考にして進めているのですが、TFModelsフォルダーの.nnファイルをドラッグしてModelに持って行っても動きません。

ドラッグしたままInspectorのModelにマウスポインターを重ねても丸に斜線のようなマークのままなんですが、持っていく場所を間違えているのでしょうか?また、場所は間違っていない場合はどのような原因が考えられますか?

Unityに関する知識が浅いので質問の仕方が悪いかもしれませんが、ご回答のほどよろしくお願いします。

Unityの画面

TFModelsフォルダーの中身とInspector

エラーメッセージ

ArgumentException: An item with the same key has already been added.

補足情報

Unityのバージョン:Unity 2017.4.0f1 Personal(64bit)
ML-Agentsのダウンロード元:https://github.com/Unity-Technologies/ml-agents

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Bongo

2019/07/04 20:39

スクリーンショットを拝見しますとModel欄の型が「Text Asset」になっているようですが、私もちょっと0.8.2をダウンロードして開いてみたところ、Model欄の型は「NN Model」になっておりモデルアセットをちゃんとドロップできました。古いバージョンが混在しているなどの心当たりはありませんでしょうかね? このML-Agentsは削除して、ダウンロードするところからやり直してみても同じ状況になってしまうでしょうか。
yoan

2019/07/08 08:08

ML-Agentsを消してから改めてダウンロードしましたが、同じように「Text Asset」と表記されていました。 各種サイトを参考にすると、Ball3DAcademyの子オブジェクトにBall3DBrainがあると解説されているのですが、それが無いのでBrainsのModelに.NNファイルを入れようとしているのですが、それが間違っているのでしょうか?
Bongo

2019/07/08 09:25

Academyの子にBrainがないのは正常な状態だと思います。もしかして古いバージョン向けの解説サイトをご覧になったのではないでしょうか? だとするとちょっと気になったのですが、プロジェクト設定で「ENABLE_TENSORFLOW」とかを入力した覚えはありますでしょうか。
yoan

2019/07/08 09:31

あります…。確かにEditのPlayerに同じ単語を入力したことを覚えています。
guest

回答1

0

ベストアンサー

現行のML-Agentsでは従来のTensorFlowSharpに代わってBarracudaとかいうエンジンが使われるようになったようです。Unity ML-Agents Toolkit v0.7 ― クロスプラットフォームな推論の実現に向けた飛躍によれば、NNファイルはこの新型エンジン用のモデルファイルだそうですね。
ENABLE_TENSORFLOWはTensorFlowSharp向けの設定と思われ、LearningBrain.csを見ますにENABLE_TENSORFLOWがあるとmodelTextAsset型に、なければNNModel型に変わるようです。

また、Academyオブジェクトの子としてBrainオブジェクトを配置するのも古い構造で、バージョン移行ガイドには...

Migrating from ML-Agents toolkit v0.5 to v0.6
Steps to Migrate
To update a scene from v0.5 to v0.6, you must:

Remove the Brain GameObjects in the scene. (Delete all of the Brain GameObjects under Academy in the scene.)

ML-Agentsツールキットv0.5からv0.6への移行
移行手順
シーンをv0.5からv0.6にアップグレードするには:
シーンからBrainゲームオブジェクトを削除してください。(シーン内のAcademyの下にあるすべてのBrainゲームオブジェクトを削除してください。)

Migrating from ML-Agents toolkit v0.6 to v0.7
Important Changes
We no longer support TFS and are now using the Unity Inference Engine
Steps to Migrate
Make sure to remove the ENABLE_TENSORFLOW flag in your Unity Project settings

ML-Agentsツールキットv0.6からv0.7への移行
重要な変更点
TensorFlowSharpはこれ以上サポートされず、現在はUnity Inference Engineを使用します
移行手順
UnityのProject settingsからENABLE_TENSORFLOWフラグを削除してください

といった記述がありました。ですので、古いバージョン向けの解説サイトはあてにせずv0.8に対応した解説サイトを参照いただくか、あるいはこの際公式ドキュメントだけを頼りにして、もう一度やり直してみてはいかがでしょうか。

投稿2019/07/08 10:23

編集2019/07/08 10:36
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoan

2019/07/09 02:11

ENABLE_TENSORFLOWの記述を削除するだけで動きました。丁寧な解答、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問