前回Anacondaの環境構築を簡単に行ったので、今回はいよいよUnityでの強化学習に必要なML-Agentsの環境構築に挑戦してみます。
ML-Agentsのインストール
https://github.com/Unity-Technologies/ml-agents
GitHubにアクセスし、Tag
から2023.9時点での最新バージョンである、
release_20
を選択します。
そうしたら、Code
から、Download Zip
を選択して、インストールしておきます。
([一応]保存場所を聞かれたら基本どこでもいいです。ダウンロード
とかに普段入れますが、チュートリアルなどではデスクトップ
上に配置してわかりやすくすることもあるみたいです。自分はデスクトップをあんまり汚したくないのでダウンロードに保存しています。解凍前なので本当にどこでもいいと思います。)
インストールしたZipファイルを右クリックして、すべて展開
します。
展開場所はおまかせします。日本語のフォルダじゃなければ基本なんでもいいと思います。
私はC:User/"username"に入れました。(cd楽だから...)
展開完了したフォルダを右クリックしてパスをコピーできます。(これ後に使います。今コピーする必要はないですが、後でコピーします。)
Installationを参考に進めてみる
https://github.com/Unity-Technologies/ml-agents/blob/release_20/docs/Installation.md
ここに色々と環境構築の手順が書いてあるみたいです。英語ばっかりでよくわかりませんが頑張ります。
推奨されているのは以下のとおりです。
Unity2021.3以上
Python3.8.13以上
Python環境構築
前回インストールしたAnacondaの機能を用いてPython環境を頑張って構築します。
conda update conda
conda install anaconda
conda update --all
conda create -n mlagents python=3.8
conda activate mlagents
-n(--name)オプションは名前を指定する見たい感じで、今回はmlagents
という仮想環境名を指定している。
activate
すると(base)から(mlagents)に移動しました。
確認のため、
python --version
を実行すると、
条件を満たしていることを確認できました!!!(大変だった。。。(大変だったのはエラー備忘録参照)
そうしたらあとはML-Agentsをインストールします。
cd "ML-Agentsフォルダのパス"//最初にコピーできるようにしてって言ったやつです。
cd ml-agents-envs
pip install -e ./
cd ..
cd ml-agents
pip install -e ./
cd ..
あとは他にも必要そうなものをインストールしておきます。(pytorchなど)
pip3 install torch~=1.7.1 -f https://download.pytorch.org/whl/torch_stable.html
pip3 install mlagents
python -m pip install mlagents==0.30.0
こんなエラーがでてできなかったら次のコマンドを実行してください。
pip install protobuf==3.20.*
python環境構築完了!!!!!!!
↓これはエラーの備忘録、暇つぶしに見てもOK。なにも得られませんが。
ここを押して展開、参考にしないこと!!!
エラー備忘録。手順通りやらないでね、普通にうまくいっていない備忘録です。
コマンドで解決しました。以下はただの備忘録
conda update conda //これでは解決しなかった
conda install anaconda //これと
conda update --all//これが解決してくれた
conda install python=3.8//これは実行してない、いらなかったみたい。
以下完全な備忘録というかもはや日記
一見done
とかも出てきたのでCreateは完了したように思えたが、
activateしようとしてみると、できなかった。
EnvironmentNameNotFound: Could not find conda environment: mlagents
You can list all discoverable environments with `conda info --envs`.
こんな感じのエラーが出たからである。
色々調べてみたところ、そもそもCreateが正常に行われていないっぽいことがわかった。
PackagesNotFoundError: The following packages are not available from current channels:
- python=3.8.18
Createしたときに出てきた大量の文を一個一個読んでいったら、このようなエラー文があった。
(エラーならDoneとか出てこないでよ。。。(一部完了してたんだろうけど。))
このエラーはなんかパッケージが見当たらないよみたいなことを言ってる。
じゃあパッケージをインストールしてあげます。
https://anaconda.org
ここにアクセスします。そしたら検索バーに入れたいモジュールの名前を入力します。
今回はpython3.8
すると以下のような検索結果が出てきました。
一番上のPythonマークがついているものを選択。
そしたらこんな感じの画面になるので、pipインストールの手順にしたがってインストールします。
今回は一番上のpipコマンドのみでいいと思います。(AnacondaPromptで実行します)
更にエラー余談
pipコマンドをコマンドプロンプトでやったら色々起こられました、環境がないからでしょうか。 まぁ今回はAnacondaPromptでなんとかなりました。conda create -n mlagents python=3.8.18
conda activate mlagents
はい、できませんでした。同じエラーです。
調べたらわかりました。
conda install python=3.8
これしてなかった。;;
と思いきやこれも実行できなかった。。。。
みたいなことやってて、
conda update conda //これでは解決しなかった
conda install anaconda //これと
conda update --all//これが解決してくれた
conda install python=3.8//これは実行してない、いらなかったみたい。
最初に書いたこれに至った。疲れた。
Unity側の操作
やっとUnityの操作に戻れます。
1.Unityプロジェクトを3Dで作成。
2.ウィンドウ
→パッケージマネージャー
→+
→ディスクからパッケージを加える
ここまで行ったらエクスプローラに移動すると思うので、展開したML-Agentsのところまで行って、
com.unity.ml-agents
→Package.json
を選択する。
するとパッケージのインストールが始まるので、エラー出ないように祈りながら待ちます。
成功しました。環境構築はこれで終わり。
まだ全然試せてないけど、結構ボリューミーな記事になったのでこの記事はここでおしまい。
素人にお付き合いいただきありがとうございました。