1. Home
  2. Webデザイン
  3. php/python
  4. WindowsにKerasとTensorFlow(GPU)をインストールして機械学習の環境を作ろう!
AmazonAmazon クレジットカードAmazon DashAmazon PrimeAmazon.co.jpAmazon
サーバーメンテナンスのお知らせ!(2019/05/24~25)

サーバーメンテナンスのお知らせ!(2019/05/24~25)

いつもShopDDおよびNetaGearをご利用いただきありがとうございます。2019年5月24日(金)、5月25日(土)2時AM2:00~AM:6:00頃にサーバーの移転及びメンテナンスを行います。作...

Loctekのガス圧式 液晶モニターアーム D8を使ってみた!

Loctekのガス圧式 液晶モニターアーム D8を使ってみた!

今回紹介するのはLoctek製のガススプリング式(ガス圧式)の液晶モニターアーム D8です。ガススプリング式を採用しており通常の固定式の液晶モニターアームと比較すると、移...

ギガビット対応のLANケーブル延長コネクターを買ってみた!

ギガビット対応のLANケーブル延長コネクターを買ってみた!

先日の記事でダイソーで売っているLANケーブル延長コネクターを購入しましたが、せっかく最大1Gbpsのフレッツ光ネクスト ギガファミリー・スマートタイプを契約しているの...

日本未発売の薄型背面バッテリーmoto modsの「moto power pack」を買ってみた!

日本未発売の薄型背面バッテリーmoto modsの「moto power pack」を買ってみた!

ちょっと前の記事で日本未発売で日本に発送できない商品を購入する方法の例として、Xボーダーを利用して日本未発売の超薄型背面バッテリーmoto modsの「moto power pack」...

HTML+CSSで3D空間を表現した「CSS FPS」がすごい!

HTML+CSSで3D空間を表現した「CSS FPS」がすごい!

今回紹介するのはHTMLとCSSを使ってFPSゲームなどでよくあるような3D空間を表現した技術デモサイトである「CSS FPS」のサイトを紹介したいと思います。HTML+CSSで表現でき...

YouTubeのチャンネル&動画分析ツールの「NoxInfluencer」で分析しよう!

YouTubeのチャンネル&動画分析ツールの「NoxInfluencer」で分析しよう!

今回紹介するのは、YouTubeのチャンネル分析が可能なマーケティングツールである「NoxInfluencer」です。NoxInfluencerを使うことでYouTubeチャンネルランキング、比較、タ...

動画変換やダウンロード、画面録画などが可能なマルチな動画ソフト「VideoProc」!

動画変換やダウンロード、画面録画などが可能なマルチな動画ソフト「VideoProc」!

先日からGWプレゼントキャンペーンでライセンスコードをプレゼントされていたVideoProcですが、今回はそのVideoProcを実際に使ってみたのでレビューを書きたいと思います。...

Vegas Proの手ブレ補正機能の効果を検証してみました!

Vegas Proの手ブレ補正機能の効果を検証してみました!

先日86%オフのキャンペーンで購入したプロ用動画編集ソフトのVegas Proですが、今回はそのVegas Proを使って手ブレしている動画にVegas手ブレ補正プラグインを使って手ブレ...

スマートスピーカーのAmazon Echo Dot第3世代が46%オフの3,240円で販売中!

スマートスピーカーのAmazon Echo Dot第3世代が46%オフの3,240円で販売中!

Amazon Echo Dot 第3世代 スマートスピーカー with Alexaがセール特価でなんと46%オフの大特価で販売中です。販売はAmazonなので送料はもちろん無料です。ちなみにAmazon E...

NetaGear RSS News

Now Loading

Article

WindowsにKerasとTensorFlow(GPU)をインストールして機械学習の環境を作ろう!

 php/python 
TensorFlow_keras_GPU_000.png

ここ最近は機械学習にはまっていて、前々から気になっていたTensorFlowを試してみたいと思い、実際にWindowsにインストールしてみたので、その導入手順を紹介したいと思います。手順自体は比較的簡単だと思ったのですが、実際にやってみるといくつか引っかかったので、その点なども含め記録として残しておきたいと思います。

まず、TensorFlow(テンソルフロー)について簡単に説明しておくと、ディープラーニングが行える機械学習ライブラリです。Googleが開発しオープンソースで公開しているもので、実際にGoogleの中でも使われている実績のあるライブラリであり、そのため数多くの開発者がこのTensorFlowを利用しています。

WindowsにKerasとTensorFlow(GPU)をインストール!


TensorFlow_keras_GPU_050.png

WindowsにKeras+TensorFlow(GPU)の環境構築に必要なのは以下の3つです。今回はインストールまでの手順からコマンドの詳細まで記述したので、プログラミングの知識がなくてもインストールできるのではないかと思います。機械学習やディープラーニングに興味のある人はぜひ試してみることをおすすめします。

必要なもの


・NVIDIA GeForce GTX グラフィックカード(CPUで動かす場合は必要なし)
・Anaconda(Python)
・CUDA Toolkit 9.0
・cuDNN v7.1.4 for CUDA 9.0

CUDA Toolkit


TensorFlow_keras_GPU_060.png
NVIDIAのサイトのCUDA Toolkit Archiveから過去のCUDA Toolkit 9.0をダウンロードしてインストールします。

CUDA Toolkit Archive
https://developer.nvidia.com/cuda-toolkit-archive

私がTensorFlowを入れた6月24日当時ではpipで入るTensorFlowのバージョンが1.8でCUDA9.2が対応しておらず、CUDA Toolkit 9.0とcuDNN v7.1.4 for CUDA 9.0でインストールしました。今後TensorFlowの最新バージョンの対応状況が変わった場合は、動作する最新のバージョンのCUDA Toolkitをインストールすることを調べてからインストールすることをおすすめします。

cuDNN


TensorFlow_keras_GPU_030.png
1 CUDA Toolkitと対応するcuDNNをダウンロードしてきます。今回の場合はcuDNN v7.1.4 for CUDA 9.0です。cuDNNはNVIFIA DEVELOPERの登録後にダウンロード可能です。

Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0
https://developer.nvidia.com/cudnn

TensorFlow_keras_GPU_031.png
2 ダウンロードしたcuDNNを回答してcudaフォルダ内のbinフォルダの中にあるcudnn64_7.dllをコピーします。

TensorFlow_keras_GPU_032.png
3 コピーしたcudnn64_7を以下のフォルダ内にコピーします。

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

Anaconda(Python)


TensorFlow_keras_GPU_001.png
1 Anacondaの公式サイトからPython 3.6 versionのAnacondaをダウンロードします。

Download Anaconda Distribution
https://www.anaconda.com/download/

TensorFlow_keras_GPU_002.png
2 ダウンロードしたAnaconda3-5.2.0-Windows-x86_x64.exeを起動します。

TensorFlow_keras_GPU_003.png
3 「Next」を押します。

TensorFlow_keras_GPU_004.png
4 「I Agree」を押します。

TensorFlow_keras_GPU_005.png
5 「Just Me」を選択して「Next」を押します。

TensorFlow_keras_GPU_006.png
6 インストール先を選択して「Next」をクリックします。

TensorFlow_keras_GPU_007.png
7 「Add Anaxoda to my PATH envlronment variable」と「Register Anaconda as my default Python 3.6」にチェックを入れて「Install」を押します。

TensorFlow_keras_GPU_008.png
8 インストールが終わるまでしばらく待ちます。

TensorFlow_keras_GPU_009.png
9 これでインストールは終了です。「Next」を押します。

TensorFlow_keras_GPU_010.png
10 「Microsoft VSCode」をインストールするか聞かれるので、もしインストールしてない人は入れておくと開発が楽になります。VSCodeについてはレビュー記事を書いているので、気になる方はそちらをご覧ください。

無料で使える軽量なコードエディタの「Visual Studio Code(VS Code)」を使ってみよう!

TensorFlow_keras_GPU_011.png
11 「Finish」を押してAnacondaのインストールは完了です。

TensorFlow_keras_GPU_012.png
12 Anaconda Navigatorを起動するとこのように表示されます「OK」を押します。

TensorFlow_keras_GPU_013.png
13 Anaconda Navigatorの画面です。


Anaconda Prompt


TensorFlow_keras_GPU_020.png
1 WindowsメニューからAnaconda Promptを起動します。pythonと打つとpython 3.6.5がインストールされていることが確認できます。ここからpythonの環境を作っていきます。

TensorFlow_keras_GPU_021.png
2 Anacondaでは仮想環境を作ることができるのpython3.6でenvironmentを作ります。以下のコマンドを打ちます。

conda create -n py36 python=3.6

TensorFlow_keras_GPU_022.png
3 以下のコマンドを打ってenvironmentを確認します。

conda info -e
先ほど作成したpy36が追加されていることを確認します。*がついているのが今現在アクティブになっている環境になります。

TensorFlow_keras_GPU_023.png
4 py36をアクティブにするために以下のコマンドを打ちます。

activate py36
すると(base)C:\Users\admin>となっていたものが(py36)C:\Users\admin>とpy36がアクティブに変わります。

TensorFlow_keras_GPU_024.png
5 続いてtensorflow-gpu(GPU版)をインストールするコマンドを打ちます。

pip install tensorflow-gpu
GPU版ではなくCPU版をインストールしたい場合は以下のようにします、

pip install tensorflow

TensorFlow_keras_GPU_025.png
6 続いてJupyterをインストールします。jupyterがあるとブラウザ上でpythonのコードを書いて簡単に実行できます。

pip install jupyter

jupyter


TensorFlow_keras_GPU_035.png
1 Windowsメニューからjupyter Notebookを起動します。右側の「New」から仮想環境のpy36を選択します。

TensorFlow_keras_GPU_026.png
2 jupyterで仮想環境が表示されない場合は以下のコマンドで確認してください。

jupyter kernelspec list
これでpy36が表示されなければ仮想環境を追加するコマンドを打ちます。

ipython kernel install --user --name=py36 --display-name=py36
もう一度jupyter kernelspec listを表示してpy36が表示されていればOKです。

TensorFlow_keras_GPU_043.png
3 GPUをTensorFlowで認識できているかjupyterでテストしてみます。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

これでdevice_type:"GPU"の表記があればGPUがTensorFlowで認識されています。

TensorFlow_keras_GPU_027.png
4 TensorFlowでGPUが認識されない場合は、tensorflow_self_check.pyを実行してみると原因が解るかもしれません。正しくインストールされていればTensorFlow successfully installed.The installed version of TensorFlow includes GPU support.と表示されます。

TensorFlow on Windows self-check(tensorflow_self_check.py) - GitHub

TensorFlow_keras_GPU_040.png
5 MNIST動作確認用コード(TensorFlow)のページにアクセスしてコードをコピーして実行してみましょう。

MNIST動作確認用コード(TensorFlow)

TensorFlow_keras_GPU_041.png
6 このように進んでいけば成功です。

TensorFlow_keras_GPU_042.png
7 最後にaccuracy(正解率)が表示されれば実行完了です。

TensorFlow_keras_GPU_045.png
8 TensorFlowの分析中はGPUが上がっていることが確認できます。特にGPUのメモリがギリギリまで使用されるようです。

TensorFlow_keras_GPU_028.png
9 これでTensorFlowが入ったので最後にkerasを入れましょう。

pip install keras
これでkerasも入り、kerasからTensorFlowを実行する環境が構築できました。あとはコードを書いてディープラーニングを実行すればいいだけです。

TensorFlowのインストールに失敗してしまう場合の対応策


Install Error


TensorFlowのインストールで一番引っかかったのは、最初の時点でTensorFlowのインストールに失敗しており、その後何度アンインストールしてインストールしても前回ビルドしたキャッシュからインストールが行われて毎度失敗してしまうという現象に陥ってしまったことです。こういう場合は--no-cache-dirをつけて、pipでキャッシュを無効にしてライブラリを再インストールする必要があります。

pip --no-cache-dir install -I TensorFlow
TensorFlowのインストールに失敗してしまう場合はぜひ一度キャッシュを無効にしてみることをおすすめします。

今回の個人的感想




今回は久しぶりに開発者向けの記事です。私は最近機械学習で色々と試しているので、その中の一つとしてKerasとTensorFlowを使ってみたわけですが、手順さえわかってしまえば比較的環境構築は簡単だと思います。このブログではあんまりこういう記事は書かないのですが、今回は色々試して解決に時間がかかってしまったので、同じように解決できない人がいた際の助けになればと思い記事に残しました。

今回は導入手順自体は簡単でしたがTensorFlowのインストールのキャッシュとCUDAとcnnvの部分で引っかかりました。TensorFlow自体はインストールが簡単ですぐにCPUでサンプルが動くところまでは行けたのですが、TensorFlowをGPUで動作させるのにはかなり手間がかかりました。なぜGPUで動かないのかというのを色々と調べると、どうやら最新のCUDAバージョン9.2だとTensorFlow1.8が動かないという記述を見かけたので、CUDAバージョン9に下げることが必要でした。それに加えてTensolFlow-GPUのインストールが失敗していることに気がつくのに時間がかかってしまったのがでかかったです。

それにしても予想外のところで導入に時間がかかってしまいましたが、導入自体は非常に簡単で驚きました。Windowsだと少し手間がかかる部分もあるかもしれませんが、MacやLinuxならコマンドでちょちょいとTensorFlowの環境を導入できるんですから楽ですよね。しかも今回はGPU版を導入しましたのでかなり高速に分析を行うことが可能です。私のグラボはGeForce GTX970と少し古いのですがそれでも、6コアのCPUで動かしたCPU版と比較しても10倍近くも高速ですね。グラボを導入している人はGPU版で高速に処理できるのでおすすめです。ちなみに私の動かしたPCの環境の詳細について気になる方は以下の記事を御覧ください。

久しぶりに新しい自作PCを組みました!

昔はディープラーニングと言えば、高性能なマシンと高度な知識がなければ到底無理な代物でしたが、今はこういったライブラリが多数出ているので、敷居がだいぶ下がっていますよね。Keras+TensorFlowでニューラルネットワークの構築がこんなに簡単にできてしまうのは驚きです。しかもGPUに対応しているライブラリならCPU処理に比べて何十倍も速度が出ますし、そういった意味でも個人で開発して遊べるレベルまでなったのは非常に良い事だと思います。

TensorFlowによるディープラーニングに興味のある人はぜひ導入してみてはいかがでしょう?

Related article

COMMENT TO THIS ENTRY

Most Popular

Now loading...

Social Links

Sponsored Link

Popular Article

Access Ranking

Now Loading...

当ブログにリンクしていているサイトの中でアクセス数の多いサイト上位15位が表示されます。今ならリンクするだけで簡単に上位に表示されます。