UE4 ディープラーニング
ってやつでなんとかして!
環境構築編 (Python3 + TensorFlow)
カニパンチ(@CrabPunch)
※追加部分 動画リンク
口頭での情報の補足などあるため
こちらと合わせてお読みください
動画リンク
自己紹介
ネイティブ開発が主なフリーランスプログラマ。
最近はUE4やモバイルでの案件も増えてきました。
本日登壇されているUE4ベテラン勢に比べてのまだまだ入門者です。
(UE4モバイル3年目)
趣味は囲碁と将棋
楽して強いAIを作りたい
・AlphaZero
https://science.sciencemag.org/content/362/6419/1140
・『強い』を作るだけが能じゃない!ディープラーニングで3Dアクションゲームの敵AI
を作ってみた
https://cedil.cesa.or.jp/cedil_sessions/view/2051
そもそもディープラーニングってなに?
人工知能(AI)
機械学習
(Machine Learning)
ニューラルネットワーク
(深層学習
DeepLearning)
入力層 中間層 出力層
年収
イケメン
ギャグのセンス
結婚できる
結婚できない
例:オセロの場合
1
2
自駒の位置
敵駒の位置
先手か後手か
64
深層学習+強化学習
1:はじめは乱数にて適当なパラメーターの基礎AIを作成する(最初はすごく茶弱い)
2:基礎AIと基礎AIで対局を何度もさせる
3:2の過程のデータをもとにパラメーターを調整した調整AIを作成する
4:3で作成された調整AIと基礎AIを何度か対局させる
5:4の結果、成績よいほうを基礎AIとする
6:2~5の手順を繰り返す
。
プログラム言語は別になんでもよい
C++であろうとBPであろうとPythonであろうと好きなものでよい
ただ、学習に時間がかかる、8時間とか1日とか1月とかかかる
なので学習環境は切り離せれるのが望ましい
UE4上では学習した結果の反映して実行さえできればよい
Python動けばなんとかなるやろ
機械学習 深層学習のフレームワークがいくつかあり
情報も豊富
クラウド上での無料のGPUやTPUでの学習環境が提供されている
(新調したばかりのGPUが故障したら泣けるため)
深層学習用フレームワーク
・TensorFlow
・Keras
・Pytorch
・Chainer
(ニューラルネットワークのネットワーク構築や計算をいろいろとサポートしてくれる)
UE4 Python Plugin
・ ①Python Editor Script Plugin
・ ②UnrealEnginePython
・ ③TensorflowPlugin
① Python Editor Script Plugin
Epic公式Plugin
Python ver2.7 (一応3に上げることもできる)
Editorでの自動化などでの用途に使える(Utility Blueprintのpython版のようなもの)
Game中に使うものではない
デフォルトのままであれば環境構築とかはいらないので楽ではある
※参考 https://www.slideshare.net/EpicGamesJapan/gtmf2019-python-
blueprintunreal-engine
② UnrealEnginePython
UE ver 4.22 Python ver3.7まで対応
Python ver2or3 (自分の環境の好きな環境パスを使えるがビルドがいる)
embedded版であればpython環境が内包されているのでパスを気にしなくていい
Editor上で使用するだけでなくGame中などもBPなどと組み合わせて使うことができる
③ TensorflowPlugin
UnrealEnginePythonの拡張版のようなもの
UE ver 4.23
CPU版 GPU版あり
Pythonライブラリの自動設定などがある
環境構築の問題点
Pythonライブラリの更新がはやい
Pythonライブラリの種類が多く、バージョンも多い
各種ライブラリのバージョンごとの組み合わせによって発生するエラーが多い
クラウドなどで正常動作する組み合わせであってもUE4がゲフンゲフンする場合がある
環境構築方法
・ 環境構築A コマンドにてインストール
・ 環境構築B Pluginの機能を利用する
・ 環境構築C Anaconda環境をコピーする(パス変更でもいいがビルドがいる)
環境構築A
・UnrealEnginePython
カレントディレクトリを以下に指定し
Plugins/UnrealEnginePython/Binaries/Win64
pip install hogehoge (各種お好みのライブラリをインストールする)
※参考
https://qiita.com/simonritchie/items/58fe6d4d3c411c8c062f
環境構築B-1
・ TensorflowPlugin
プラグインとサンプルプロジェクトを取得し
プラグインをプラグインフォルダに放り込む
・PluginDL
https://github.com/getnamo/tensorflow-ue4/releases
・ExampleDL
https://github.com/getnamo/tensorflow-ue4-examples
環境構築B-2
プロジェクトを起動すると
Plugins/UnrealEnginePython/Binaries/Win64/Lib/site-packages
に必要なライブラリが自動がセットアップされる
環境構築B-3
ライブラリのバージョンなどを指定したい場合
Content/Scripts/upymodule.json
環境構築C-1
Python環境構築に便利なAnacondaNavigator
環境構築C-2
visual studioのpythonプロジェクトでも先ほどの環境を切り替えたりできる
環境構築C-3
AnacondaNavigatorをインストールした場所のenvs以下にファイルがある
環境構築C-4
envs/<target>/Lib を
Plugins/UnrealEnginePython/Binaries/Win64/Libへ
※site-packagesだけでいいかも 動きはした
UE4上でのpython起動
PyActorとpythonの紐づけ
※詳細 https://qiita.com/simonritchie/items/58fe6d4d3c411c8c062f
BP>Python
Python>BP
入門教材
・【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 –
https://www.udemy.com/course/kikagaku_blackbox_1/
・【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 -
https://www.udemy.com/course/kikagaku_blackbox_2/
・【キカガク流】現場で使えるChainerによるディープラーニング入門
https://www.udemy.com/course/kikagaku-chainer/
・【 TensorFlow・Python3 で学ぶ】深層強化学習入門
https://www.udemy.com/course/tensorflow_reinforce/

UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)