クーの自由研究

マスターのかえるのクーは、弟子達の召喚術により新たな依り代を得てⅡ世として復活しました。

ML-Agents & UNITY とても楽しいです

皆さまとてもUNITY初心者にやさしいです

こんにちわ、こんばんわ。かえるのクーの助手の弟子の「井戸中 瑠璃」(いとなか るり)です。

f:id:luriAPupileOfKoo:20210501225533p:plain

UNITYの入門編やML-Agentsのチュートリアルの動画をみまくっております。&実際にチュートリアルを見ながら動かしてみています。

むちゃくちゃ楽しいです。特にML-Agentsの「Crawler」は4本脚のキャラがとても一生懸命に箱にむけて進むのがかわいいです。方向転換のときの足の踏ん張り方が絶妙です。

f:id:luriAPupileOfKoo:20210501230037p:plain

ML-Agentsのデモは学習済のデータで動かすことも、自分でチュートリアルの環境で学習させることもできますし、サンプルもシンプルなので、少し変更して遊ぶことも楽しいです。

連休は「じぇねさいど」(瑠璃の宇宙創成&破壊かたずけシミュレーション)の構想を深めるつもりでしたが、たぶんずっとUNITYで遊ぶことになりそうです。

UNITYで遊ぶどぉ!

なお、瑠璃のメインPCでは、いろいろ環境設定が複雑になっているので、別の実験用のPCにUNITY&Anaconda&VisualStudioC++/C#を新規にインストールしました。

UNITYは安定版3種類(2020.3.6f1 LTS, 2019.4.24.f1 LTS, 2018.4.34.f1 LTS)をいれました。バージョンによる相性がありそうだったためです。(ML-Agents最新が最初いろいろ動かなかったため)

ML-Agentsは現在大変頻繁に改版リリースされていますので、とりあえず新たにやってみられたい方は、

f:id:luriAPupileOfKoo:20210501221434p:plain

のVerified Package 1.0.7 (などの検証済パッケージ)を使われることをお勧めします。*1「あたらしめ」のリリースはプレビュー版の扱いになるようです。リーリース頻度が半端ありませんね。他はいろいろ他のパッケージとの関連で不具合があったり、エラーがでるケースがとても多かったです。(新しいのから順次やってみましたが、私の実験環境(Windows10)では「かなり」動かなかったです。)

自分でスクラッチで組まれるには、新しいバージョンを確認しながらでもよいと思います。

また、Pythonは 3.6.1より新しければよいとの記載があるわりに、Requiredに3.6 or 3.7 と記載されているので、少なくともこのバージョンのML-Agentsでは3.8以上のPythonは使用しないほうがよい感じがします。condaでpython=3.7の環境をつくって動かしました。

実験環境なので、Anaconda全般にPathをとおしてメインに使っています。

UNITYの勉強について

ML-Agentsをはじめ、機械学習系のUNITY説明はUNITYがバリバリにわかっていることを前提に(UNITY関連部分は)鬼のようなスピードで進んでいきます。瑠璃のような初心者の方はUNITYのチュートリアルもあわせてみていったほうがよいかもしれません。

 

UNITYのお勉強

今回は意味もなく英語(ヒアリング)の勉強を兼ねているので、下のサイトをみています。説明内容は超絶わかりやすいです。

 

ML-Agentsのお勉強

1つ前にはったCodeMonkey様のページがとてもわかりやすいですが、他にもいろいろあります。(CodeMonkey様がいちばんテンションがたかそうです)


日本語の説明や応用も検索すれば沢山でてきます。みなさん、いろいろ遊んでおられるようです。

それでは皆様

楽しい連休をお過ごしください。

(追記)連休に遊んだ結果は以下の通りです。

(補足)CUDA系 GPUをお使いの方向け

ML用のパッケージ各種は通常のインストール手順で問題なく(自動的に)入りますが、ML-AgentsのCUDAバージョンの要求と現在のマシンのCUDAバージョンの不整合が発生することがあります。

確認はコンソール プロンプトで

> mlagents-learn --help

とした場合にヘルプメッセージの他にエラーが出るかどうかで確かめられます。

f:id:np2LKoo:20210502170648p:plain

瑠璃の環境ではなんとなく動いているので問題ないと思っていましたが、エラーによりGPUがうまく使われていませんでした。(TensorflowでCUDAが動かないのは致命的です)

 念のため、conda list で確認したところTensorflowは2.4.x系でした。

f:id:np2LKoo:20210502170948p:plain

11.0が要求されているので、CUDA 11.0と、cuDNN 8.0.5をインストールしました。(環境変数も変えました):変更前はCUDA 11.2でした。CUDA 11.0のインストールで11.x以降の環境はすべて消えました。このあたりがあるので、環境変更がシビアな場合は新しい環境でやったほうがよいと思います。

f:id:np2LKoo:20210502171146p:plain

どうしてもpytorch系でやりたい方はご自分の環境で動作するリリースを探してみてください。(デモが動作しても、肝心なメソッドでエラーがでるケースもありましたのでご注意ください。) 

 

自分向けのおまけ

実験環境なので、環境を何度もつくりなおすことになるので、自分向けのショートカット情報です。頻繁に再インストールする実験専用のPCを持っています。Gen4のNMVeのSSDだと速いのでインストールも苦になりません。(仮想環境がめんどくさいだけです)

インストールの順番は大切です

・Windows10をインストールする

・WindowsUpdateをする。

・VisualStudio 2017 Community / VisualStudio 2019 Comunity を以下のオプションでインストールする。(あとで上書きされるかもしれないが、いちおう入れておきます)

  C++ディスクトップ開発 + Unityによるゲーム開発 + C++ によるゲーム開発

・エディタ、アーカイバ(sakura , lhaplus, 7zip)

・CUDA 11.0.2 + cuDNN 8.0.5(for CUDA 11.0)

・Unity (2018.4.34f1 LTS, 2019.4.25f1 LTS, 2020.3.6f1 LTS)

・Anaconda 最新版(例えば3.8)

・Unity ML-Agents Verified Package をダウンロードして解凍する

・コマンドプロンプトで以下を実行

> conda create -n ml-agents-vp107 python=3.7

> conda activate ml-agents-vp107

> cd パッケージの解凍ディレクトリ

> python -m pip install --upgrade pip  (忘れずに!)

> pip install -e ./ml-agents-envs

> pip install -e ./ml-agents  

 以下を実行してエラーがでないか確認

> mlagents-learn --help  

... is deplicated はとりあえずスルー、他にエラーがなければOK

> python -V  

で 3.7.x が表示されればOK

・Unityを起動してプロジェクト選択画面で「リストに追加」で展開したML-Agentsのフォルダ内のprojectフォルダを選択して[OK] ⇒ プロジェクト一覧に Projectが表示される。⇒動作させるUnityのバージョンを選択する⇒プロジェクト名ダブルクリック

⇒Upgradeの確認で [OK]クリック

・Unityが起動するので、Window/package Maneger で ML Agentsがあるか確認する。

・もしもなければ、「+」から「Add package from disk」を選択して、ML-Agentsの展開フォルダの com.unity.ml-agents フォルダ内のpackage(.json)を選択する

・画面左下のProjectのAssets/ML-Agents/Example の中の各種例のフォルダからScenesを選択して、ダブルクリックする。

・Playボタン(▶)をクリックすると、エージェントが頑張る様子が見れます。

f:id:np2LKoo:20210502231507p:plain

*1:重要:Verified Package1.0.7はtensorflowを使用しています。最新のリリース(PreView)ではpytorchを使用しています。