LoginSignup
14
9

More than 3 years have passed since last update.

ml-agents 0.8.0 で自分のプロジェクトで機械学習させる (Windows)(Tensorflow-GPU導入編)

Last updated at Posted at 2019-05-01

前段

Macでのml-agents導入はこちらを参照してほしい。

今回はWindows用、それもtensorflow-gpu を使ってやりたい。基本的に以下の本家のページの通りだが

ハマリポイントがいくつかあったので、それには注意を促したい、というのがこの記事の趣旨だ。
あと1年後は100%忘れる自信がある私自身のためのものでもある。

環境設定

1、 ml-agents をダウンロード

  https://github.com/Unity-Technologies/ml-agents/tags/0.8.0
  をダウンロードして、適当なところに配置

2、 anaconda をインストール

  ターミナルで「conda」と打って反応があれば既にインストール済み

3、 仮想環境を作る

conda info -e

 で[ml-agents]があれば良い。なければ↓でつくる。

conda create -n ml-agents python=3.6

 で仮想環境を作る(なんか聞かれたら「y」と入力)

conda activate ml-agents

 で仮想環境切り替え。

4、 CUDA toolkit のインストール

  Unity ML-agentsドキュメントによると、CUDA toolkitのバージョンは「9.0.176」限定であるらしいので、それをダウンロードする。ダウンロードサイト直リンク

5、cuDNN library のインストール

  • NVIDIAサイトでcuDNNのサイトに行って、ダウンロードの手続きをする。ディベロッパー登録やらアンケートやらをやる必要がある。(こちらもCUDA toolkit 同様、バージョンが限定されているので要注意。「7.0.5」らしい。ダウンロードサイト直リンク )
  • ダウンロードしたzipを展開すると「bin」「include」「lib」フォルダができるので、それをCUDA toolkitのインストール先であるC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0に配置する。

6、環境変数の設定

  CUDA_HOME という環境変数を新規に作り、

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

  を設定する。
  次に、Path 環境変数に、以下の二つを追加する。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64

(Unity ML-agentsドキュメントには「関連するパスを置き換えろ」と書いてあるが、CUDA toolkit インストール時に書き加えられたパスを消してはいけないので注意が必要)
以下の感じにパスが張っていればOK。
スクリーンショット_2019-05-02_00_34_12.png

7、tensorflow-gpu のインストール

 3で作った仮想環境で

pip install tensorflow-gpu==1.7.1

とやって tensorflow-gpu を仮想環境にインストール。
確認のために、

python

とやって、pythonを起動後、

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

で、tensorflow-gpu が起動するのを試してみる。

Found device 0 with properties ...

とかなんとか出れば成功。出てなければ、tensorflow-gpu がインストールできていない可能性がある。

8、ML-Agents が使うライブラリをインストール

  ★★★ここで注意★★★
  このままML-Agents の使うライブラリをインストールしようとすると、せっかくいれたtensorflow-gpu に 通常のCPUを使う tensorflow が上書きインストールされてしまう。
なので、ml-agents/setup.py を以下のように編集する必要がある。

setup.py
      :
    packages=['mlagents.trainers'],  # Required
    zip_safe=False,

    install_requires=[
        'mlagents_envs==0.8.0',
#        'tensorflow>=1.7,<1.8', # ←ここをコメントをしておく
        'Pillow>=4.2.1',
        'matplotlib',
        'numpy>=1.13.3,<=1.14.5',
        'jupyter',
      :

そして、改めて以下を実行して ml-agents のライブラリをインストールする。

cd ml-agents-envs
pip install -e .
cd ..
cd ml-agents
pip install -e .
cd ..

確認のために

mlagents-learn

とやってみてちゃんとUnityロゴのアスキーアートが出ていれば成功。
スクリーンショット_2019-05-02_00_56_21.png

念の為、先ほどのPythonを動かしてみて

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

で、tensorflow-gpu が正常に動いていることを確認する。(たまにCPUに切り替わってたりするので要注意)

14
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
9