1. Home
  2. Webデザイン
  3. php/python
  4. WindowsにKerasとTensorFlow(GPU)をインストールして機械学習の環境を作ろう!
AmazonAmazon クレジットカードAmazon DashAmazon PrimeAmazon.co.jpAmazon
Painterなどが最大91%OFFのVEGAS&Corel全製品値下げキャンペーンが開催中!

Painterなどが最大91%OFFのVEGAS&Corel全製品値下げキャンペーンが開催中!

現在ソースネクストの公式サイトでは、PaintShop、WinDVD、Painter、VideoStudio、CorelDRAWなどのCorel全製品とVEGAS Pro、ACID Pro、SOUND FORGE、SPECTRALAYERSなどのVE...

YouTubeでHTTP Error 400が出てサイトにアクセスできない時の解決方法!

YouTubeでHTTP Error 400が出てサイトにアクセスできない時の解決方法!

今回はYouTubeで出くわしたHTTP Error 400(Bad Request)が出て、YouTubeにアクセスできなくなってしまった時の解決方法を紹介したいと思います。この現象が発生してしまう...

日本郵便が無償で提供する年賀状ソフト「はがきデザインキット2019」がおすすめ!

日本郵便が無償で提供する年賀状ソフト「はがきデザインキット2019」がおすすめ!

今年も残すところあと30日間を切り、もうそろそろ年賀状を用意して送らないといけない時期ですね。そこで今回は年賀状作成ソフトについて書きたいと思います。ちなみにみな...

ついにFC2ブログの独自ドメインがSSL対応したのでSSL化しました!

ついにFC2ブログの独自ドメインがSSL対応したのでSSL化しました!

ついにFC2ブログで独自ドメインを使ってるブログもSSLに対応しました。FC2のサブドメインを使っているブログは2017年10月からSSL化されていましたが、有料プランである独自...

CASIO G-SHOCKタフソーラーの二次電池交換をWEB修理受付サービスからしてみた!

CASIO G-SHOCKタフソーラーの二次電池交換をWEB修理受付サービスからしてみた!

今回はCASIOの時計のG-SHOCKタフソーラーの二次電池交換をWEB修理受付サービスから申請した時の流れを書きたいと思います。G-SHOCKタフソーラーの二次電池の場合は普通の時...

KADOKAWAの電子書籍が半額でさらにポイント50倍のニコニコカドカワ祭りがものすごい!

KADOKAWAの電子書籍が半額でさらにポイント50倍のニコニコカドカワ祭りがものすごい!

現在電子書籍ストアのBOOK☆WALKERで開催されているニコニコカドカワ祭り2018でものすごいキャンペーンを実施中です。KADOKAWA作品が19000点が半額でさらに45000点がコイン5...

Amazon.comで不良品が送られてきたのでEMSで返品して返金してもらった話!

Amazon.comで不良品が送られてきたのでEMSで返品して返金してもらった話!

以前に海外のAmazonを有効活用して安く買い物をしよう!という記事で簡単に海外のAmazon.comから輸入する方法を紹介しましたが、今回は海外Amazonで購入したものが不良品だ...

総額350ドル!有料ソフト8製品のライセンスキーを無料配布するキャンペーンが実施中!

総額350ドル!有料ソフト8製品のライセンスキーを無料配布するキャンペーンが実施中!

WonderFox Soft, Inc.は同社製品である新しいWonderFox HD Video Converter Factory Proを含む合計8製品のライセンスキーを無料配布するWonderFox 2018 Back to School Par...

Chromeのタブを休止させてメモリ消費を抑えられる拡張機能「The Great Suspender」を使おう!

Chromeのタブを休止させてメモリ消費を抑えられる拡張機能「The Great Suspender」を使おう!

みなさんもよく使っているであろうブラウザのChromeですが、タブを沢山開いているとメモリの消費量がすごいことになることがよくありますよね。そんな時におすすめなのがCh...

無料で使えるVRoid Studioでオリジナル3Dキャラクターを作ろう!

無料で使えるVRoid Studioでオリジナル3Dキャラクターを作ろう!

今回はWindows・Macどちらでも使える無料で使える3DキャラメイカーのVRoid Studioを紹介したいと思います。3D制作の知識がなくても誰でも簡単に自分だけのオリジナル3Dのキ...

NetaGear RSS News

Now Loading

Article

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

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

MENU

NetaGear

Pure Css Design

Popular Article

Access Ranking

Now Loading...

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