🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
強化学習

強化学習とは、ある環境下のエージェントが現状を推測し行動を決定することで報酬を獲得するという見解から、その報酬を最大限に得る方策を学ぶ機械学習のことを指します。問題解決時に得る報酬が選択結果によって変化することで、より良い行動を選択しようと学習する点が特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Unity

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3336閲覧

Unityの強化学習がエラーで上手くいかない

sabatyan

総合スコア17

強化学習

強化学習とは、ある環境下のエージェントが現状を推測し行動を決定することで報酬を獲得するという見解から、その報酬を最大限に得る方策を学ぶ機械学習のことを指します。問題解決時に得る報酬が選択結果によって変化することで、より良い行動を選択しようと学習する点が特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Unity

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/03/19 07:58

前提・実現したいこと

UnityのML-Agentsを使って強化学習がしたい

発生している問題・エラーメッセージ

mlagents-learn config\RollerBall.yaml --run-id=firstRunを実行し、Unityの実行ボタンを押すがすぐに実行が止まり、学習が出来ずに以下のメッセージが出る

training by pressing the Play button in the Unity Editor. 2021-03-18 20:11:31 INFO [environment.py:111] Connected to Unity environment with package version 1.0.0-preview and communication version 1.0.0 2021-03-18 20:11:32 INFO [environment.py:342] Connected new brain: RollerBall?team=0 Traceback (most recent call last): File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 175, in _create_trainer_and_manager trainer = self.trainers[brain_name] KeyError: 'RollerBall' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\Unity-ML-Agents\Anaconda\Anaconda\install\envs\mlagents\Scripts\mlagents-learn-script.py", line 33, in <module> sys.exit(load_entry_point('mlagents', 'console_scripts', 'mlagents-learn')()) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\learn.py", line 554, in main run_cli(parse_command_line()) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\learn.py", line 550, in run_cli run_training(run_seed, options) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\learn.py", line 407, in run_training tc.start_learning(env_manager) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents-envs\mlagents_envs\timers.py", line 305, in wrapped return func(*args, **kwargs) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 227, in start_learning self._create_trainers_and_managers(env_manager, new_behavior_ids) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 213, in _create_trainers_and_managers self._create_trainer_and_manager(env_manager, behavior_id) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 177, in _create_trainer_and_manager trainer = self.trainer_factory.generate(brain_name) File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_util.py", line 61, in generate self.multi_gpu, File "d:\unity-ml-agents\ml-agents\openthefile\ml-agents\ml-agents\mlagents\trainers\trainer_util.py", line 100, in initialize_trainer f'Trainer config must have either a "default" section, or a section for the brain name ({brain_name}). ' mlagents.trainers.exception.TrainerConfigError: Trainer config must have either a "default" section, or a section for the brain name (RollerBall). See config/trainer_config.yaml for an example.

ML-Agentsのyamlファイルの中身

これがRollerBall.yamlの中身です。入門書通りになっています(というか入門書のwebサイトからダウンロードしました)

RollerBall

1behaviors: 2 RollerBall: 3 trainer_type: ppo 4 hyperparameters: 5 batch_size: 10 6 buffer_size: 100 7 learning_rate: 0.0003 8 beta: 0.005 9 epsilon: 0.2 10 lambd: 0.95 11 num_epoch: 3 12 learning_rate_schedule: linear 13 network_settings: 14 normalize: true 15 hidden_units: 128 16 num_layers: 2 17 vis_encode_type: simple 18 reward_signals: 19 extrinsic: 20 gamma: 0.99 21 strength: 1.0 22 keep_checkpoints: 5 23 checkpoint_interval: 500000 24 max_steps: 500000 25 time_horizon: 64 26 summary_freq: 1000 27 threaded: true 28

試したこと

メッセージをそのまま調べる
Unity ML-Agentsの入門書を買う(https://www.borndigital.co.jp/book/19053.html)
Anaconda、Unity、ML-Agentsの再インストール

補足情報(バージョンやサイト、入門書など)

バージョンなど
Unityのバージョン:2019.4.13
Unity ML-Agentsのバージョン:ml-agents-release_1
Unity ML-Agentsのダウンロードサイト:https://github.com/Unity-Technologies/ml-agents/tree/release_1
Anacondaのバージョン:4.9.2
Pythonのバージョン:3.7.10
tensorflowのバージョン:2.0.0

参考にしたサイト
導入:https://www.youtube.com/watch?v=ef5TA2wE92c
サンプル:https://www.youtube.com/watch?v=jmbmqlEyFFc

入門書
入門書はUnity ML-Agents実践ゲームプログラミング v1.1対応版です。
webページ:https://www.borndigital.co.jp/book/19053.html

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

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

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

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

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

guest

回答1

0

自己解決

ML-Agentsのバージョンを上げると解決しました。

投稿2021/03/20 22:29

sabatyan

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問