UE4ディープラーニングってやつでなんとかして!環境構築編【Python3+TensorFlow】【第4回 UE4何でも勉強会 in 東京 2020】

10.5K Views

February 09, 20

スライド概要

講演動画はこちら
https://www.youtube.com/watch?v=Wbq3KO3ZJaI

発表者:カニパンチ
本スライドは2020年2月6日に行われた勉強会「 第4回 UE4何でも勉強会 in 東京」の講演資料です。
https://ue4allstudy.connpass.com/event/161710/

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

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

2.

※追加部分 動画リンク 口頭での情報の補足などあるため こちらと合わせてお読みください 動画リンク

3.

自己紹介 ネイティブ開発が主なフリーランスプログラマ。 最近はUE4やモバイルでの案件も増えてきました。 本日登壇されているUE4ベテラン勢に比べてのまだまだ入門者です。 (UE4モバイル3年目) 趣味は囲碁と将棋

4.

楽して強いAIを作りたい ・AlphaZero https://science.sciencemag.org/content/362/6419/1140 ・『強い』を作るだけが能じゃない!ディープラーニングで3Dアクションゲームの敵AI を作ってみた https://cedil.cesa.or.jp/cedil_sessions/view/2051

5.

そもそもディープラーニングってなに? 人工知能(AI) 機械学習 (Machine Learning) ニューラルネットワーク (深層学習 DeepLearning)

6.

入力層 中間層 出力層

7.

年収 結婚できる イケメン 結婚できない ギャグのセンス

8.

例:オセロの場合 自駒の位置 1 2 敵駒の位置 先手か後手か 64

9.

深層学習+強化学習 1:はじめは乱数にて適当なパラメーターの基礎AIを作成する(最初はすごく茶弱い) 2:基礎AIと基礎AIで対局を何度もさせる 3:2の過程のデータをもとにパラメーターを調整した調整AIを作成する 4:3で作成された調整AIと基礎AIを何度か対局させる 5:4の結果、成績よいほうを基礎AIとする 6:2~5の手順を繰り返す 。

10.

プログラム言語は別になんでもよい C++であろうとBPであろうとPythonであろうと好きなものでよい ただ、学習に時間がかかる、8時間とか1日とか1月とかかかる なので学習環境は切り離せれるのが望ましい UE4上では学習した結果の反映して実行さえできればよい

11.

Python動けばなんとかなるやろ 機械学習 深層学習のフレームワークがいくつかあり 情報も豊富 クラウド上での無料のGPUやTPUでの学習環境が提供されている (新調したばかりのGPUが故障したら泣けるため)

12.

深層学習用フレームワーク ・TensorFlow ・Keras ・Pytorch ・Chainer (ニューラルネットワークのネットワーク構築や計算をいろいろとサポートしてくれる)

13.

UE4 Python Plugin ・ ①Python Editor Script Plugin ・ ②UnrealEnginePython ・ ③TensorflowPlugin

14.

① Python Editor Script Plugin Epic公式Plugin Python ver2.7 (一応3に上げることもできる) Editorでの自動化などでの用途に使える(Utility Blueprintのpython版のようなもの) Game中に使うものではない デフォルトのままであれば環境構築とかはいらないので楽ではある ※参考 https://www.slideshare.net/EpicGamesJapan/gtmf2019-pythonblueprintunreal-engine

15.

② UnrealEnginePython UE ver 4.22 Python ver3.7まで対応 Python ver2or3 (自分の環境の好きな環境パスを使えるがビルドがいる) embedded版であればpython環境が内包されているのでパスを気にしなくていい Editor上で使用するだけでなくGame中などもBPなどと組み合わせて使うことができる

16.

③ TensorflowPlugin UnrealEnginePythonの拡張版のようなもの UE ver 4.23 CPU版 GPU版あり Pythonライブラリの自動設定などがある

17.

環境構築の問題点 Pythonライブラリの更新がはやい Pythonライブラリの種類が多く、バージョンも多い 各種ライブラリのバージョンごとの組み合わせによって発生するエラーが多い クラウドなどで正常動作する組み合わせであってもUE4がゲフンゲフンする場合がある

18.

環境構築方法 ・ 環境構築A コマンドにてインストール ・ 環境構築B Pluginの機能を利用する ・ 環境構築C Anaconda環境をコピーする(パス変更でもいいがビルドがいる)

19.

環境構築A ・UnrealEnginePython カレントディレクトリを以下に指定し Plugins/UnrealEnginePython/Binaries/Win64 pip install hogehoge (各種お好みのライブラリをインストールする) ※参考 https://qiita.com/simonritchie/items/58fe6d4d3c411c8c062f

20.

環境構築B-1 ・ TensorflowPlugin プラグインとサンプルプロジェクトを取得し プラグインをプラグインフォルダに放り込む ・PluginDL https://github.com/getnamo/tensorflow-ue4/releases ・ExampleDL https://github.com/getnamo/tensorflow-ue4-examples

21.

環境構築B-2 プロジェクトを起動すると Plugins/UnrealEnginePython/Binaries/Win64/Lib/site-packages に必要なライブラリが自動がセットアップされる

22.

環境構築B-3 ライブラリのバージョンなどを指定したい場合 Content/Scripts/upymodule.json

23.

環境構築C-1 Python環境構築に便利なAnacondaNavigator

24.

環境構築C-2 visual studioのpythonプロジェクトでも先ほどの環境を切り替えたりできる

25.

環境構築C-3 AnacondaNavigatorをインストールした場所のenvs以下にファイルがある

26.

環境構築C-4 envs/<target>/Lib を Plugins/UnrealEnginePython/Binaries/Win64/Libへ ※site-packagesだけでいいかも 動きはした

27.

UE4上でのpython起動

28.

PyActorとpythonの紐づけ ※詳細 https://qiita.com/simonritchie/items/58fe6d4d3c411c8c062f

29.

BP>Python

30.

Python>BP

31.

入門教材 ・【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 – 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/