Keras+TensorFlowを用いた深層学習環境構築(CPU/GPU)

前提

以下の条件を満たすPCで動作させる

Windows10
NVIDIAの最近のGPU(ここでは、省電力かつエントリーレベルの1050Tiを例に用いる)

必要なもの

Anaconda

手順

Anacondaに仮想環境を追加。(今回はPythonのバージョンは3.6とし、名前をpy36とする)

この仮想環境に次の順序でパッケージをインストールしていく(Environmentタブで、検索して、チェックボックスにチェックしてApplyするのみ)

まず、
kerasとtensorflowをインストール
次に
keras-gpu
tensorflow-gpu
次に、以下のパッケージもインストールする
cudatoolkit
cudnn
※cudatoolkitとcudnnは適切なバージョンの組み合わせ(例えばcuda9.0+cudnn7.0など)を選択する必要があるが、自動で選択される。

仮想環境(例えばここではpy36という名前にしている)のTensorFlowがGPUを認識できているか確認する


MNISTのサンプルで実際のトレーニング動作を確認する。
https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py
(メモ帳などにコピペして、すべてのファイル/UTF-8で.py拡張子もつけて保存)

実行コマンド例
(py36) C:\Users\tatsu>python C:\Users\tatsu\OneDrive\デスクトップ\mnist_cnn.py

結果、データのロードに50秒ほど、1エポックにつき11秒で計算できることを確認。
データのロード+12エポックが約3分で完了する。

補足

あえてCPUでの動作を確認する場合は、tensorflow-gpuをアンインストールするというのもいいが、例えば、上記のテストコードに数行のコードを追加するだけでも確認できる。


from __future__ import print_function

"""ここを追加"""
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"   # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
"""              """
import keras


Ubuntu18.04編

こちらの通りにやる。

https://medium.com/datadriveninvestor/install-tensorflow-gpu-to-use-nvidia-gpu-on-ubuntu-18-04-do-ai-71b0ce64ebc5

重要なポイントは、Anacondaでインストールしたcudatoolkitのバージョンを9.0に落とすこと。そうすると自動でcudnnも7.1にバージョンが落ちる。これ以外の組み合わせはGPUが認識されない(かも。あくまでも執筆時点2018/1/22)。

以上

コメント

  1. Coin Casino – The best online casino for real money
    Coin m88 Casino is a modern online casino 코인카지노 with lots of options to offer games, instant play, sbobet ทางเข้า mobile casino, and more! Read our review to get more details about

    返信削除
  2. Jordan's Casino: The Ultimate Guide to Playing for Real
    Discover Jordan's Casino: air jordan 18 retro red suede clearance The Ultimate air jordan 18 retro yellow suede super Guide to Playing for Real where to get air jordan 18 retro red suede where to buy air jordan 18 retro men in a room in this top-rated room. The King room has a large marble 메이플 캐릭터 슬롯 bathroom

    返信削除

コメントを投稿

このブログの人気の投稿

Ubuntu 18.04 + DeepLearning4J + Eclipseの環境構築