活動報告No.137 Windows10 にTensorflow(GPU版)を入れるまで
カテゴリ: 未分類
どうもおはこんばんにちは、ロボットユーザの大半を置き去りにしていくのを省みないでシステム系のブログばかり書いている2年のマエダです。

某氏が「最近ヒュー研らしいロボットわちゃわちゃのブログ見ないなあ」とつぶやかれておられたようなのですが、なに、気にすることはない。システム系のことのほうがネタあるんだもん。

tensorflow.jpg

さてさてタイトルだけで本記事が何しようかわかっている人はほとんどおらんと見た。というわけでザっと概要説明します。

Tensorflow(テンソルフロー)は、簡単に言うとAIを効率的につくるためのソフトウェアのことです。AIと聞くと何を思い出しますかね、最近ではGoogleのつくった AlphaGo が世界トップクラスの囲碁棋士を軒並み打破していますね。あれは全ての手を片っ端から走査して最適解を求めているのではなく、機械が今まで経験して得た技能により最適らしい解を打っているのです。

人間で頭の要領がいい人とそうでない人がいて、それはもはや教育でどうこうなるようなものではあまりないですが、機械は教育次第で要領がよくなったり、逆にバカにだってなれちゃいます。Tensorflowはそんな機械を賢くする道具なのです。

本記事ではWindows10とかいう環境にTensorflowを使えるところまでを紹介します。

ネット上で「Tensorflow」て調べると「Tensorflowを使ってみた」みたいな記事が多く、導入まではめっちゃ簡素な記事が多いので、本記事が導入の参考になればと思います。順番があって結構面倒。

そんじゃやっていきましょう。



必要な環境

OS:Windows10 (←S以外で)
CPU:それなりのモノ
GPU:NVIDIA製で、Compute Capability (*1) が3.0以上のモノ
メモリ:8 GBは欲しい

(*1)
Compute Capabilityに関しては以下のURLよりご覧になれます。こいつが具体的に何なのかはプログラムというかシステム系の勉強している人以外に話しても簡潔に収まらないのでスルー。

Compute Capabilityのチェック:
https://developer.nvidia.com/cuda-gpus


当方の環境

各操作の例として画像を添付するので、参照までに。

OS:Windows 10 Education
CPU:それなりのモノ
GPU:Quadoro M4000 (Compute Capability 5.2)
メモリ:多め



以下は全体の流れです。順番通りにやらないとファイルが見つからなかったりTensorflowのインストールに失敗したりします。

1、GPUのドライバインストール
2、CUDA (*2) のインストール
3、cuDNN (*3) のインストール
4、Anaconda (*4) のインストール
5、Tensorflowのインストール
6、完成

(*2)
CUDAはGPUでいろいろな演算を並列で処理してもらうための基礎的なソフトです。これによって計算能力をさらに上げることができます。

(*3)
cuDNNはNVIDIAが提供しているDeep Learning (深層学習) 用のライブラリです。本記事で扱うTensorflowやその同類のCaffeやMicrosoft Cognitive Toolkitなどの演算速度を向上してくれます。

(*4)
ここにきてやっとですが、プログラミング言語はPython 3.5を扱います。AnacondaはPython周りの環境をGUIで整えられるソフトです。ぶっちゃけコマンド一発でできるところをコイツだとあーだこーだしなくちゃならないので、コマンドでやりたい人はコマンドでやればいいと思います。私はGUIでやるところとCUIでやるところで分けていますが。



詳細な手順

1、GPUのドライバインストール

以下のURLよりNVIDIAから自分のGPUに合ったドライバをダウンロードしましょう。ダウンロードタイプはODEの選択でOK。ちなみにもうすでに入っている人はこの手順を飛ばしてもらっても構いません。

GPUのドライバ:
http://www.nvidia.co.jp/Download/index.aspx?lang=jp

私の環境では以下のようにして「検索」ボタンを押し、「ダウンロード」しました。

cap01_convert_20170704172901.png

ダウンロードが終わったらインストールして一度PCを再起動です。



2、CUDAのインストール

以下のURLよりNVIDIAからBase Installerをダウンロードしましょう。ダウンロードサイズが1.3 GBと大きめなので、回線が細い環境だと厳しいです。

CUDAのダウンロード:
https://developer.nvidia.com/cuda-downloads

2017/7/2現在ではclick cuda_8.0.61_win10.exeが最新でした。ちゃんと8.0系のCUDAですね。

私の環境では以下のようにして「Download (1.3 GB)」を押しました。

cap02_convert_20170704173112.png

ダウンロードが終わったらインストールして一度PCを再起動です。



3、cuDNNのインストール

以下のURLよりNVIDIAからダウンロードしたい所なのですが、

cuDNNのインストール:
https://developer.nvidia.com/cudnn

cuDNNをダウンロードするには、NVIDIAに開発者として登録せねばなりません。まずはNVIDIA DEVELOPERとヘッダに書いてあるページ(↑のリンクからでもおk)に行って、ヘッダの1番右に「Log in」と書いてあるのでそこ押して登録します。NVIDIA Developerに登録ってなんか音だけ聞くとカッコよいですね//

んで、NVIDIA Developerに登録したら
I Agree To the Terms of the cuDNN Software License Agreement
のチェックボックにチェックを入れて、よくやくcuDNNのダウンロードリストがでてきます。

とここで注意点なのですが、以下の画像のように、

cap03_convert_20170704173122.png

「Download cuDNN v5.1[Jan 20, 2017], for CUDA 8.0」の「cuDNN v5.1 Library for Windows 10」をダウンロードしてください。ここでCUDAのバージョンを前項と合わせてください。

なんか v6.0 ではAnacondaの仮想環境上では対応していないとか何とかでTensorflowが入らなかった気がします。setuptoolsがダメなのかそこら辺は確認取っていないです。サーセン

ダウンロードしたものはZIPファイルなので、そのZIPファイルを解凍します。
展開したやつの中には cuda というフォルダが一つ入っていて、さらにその中に bin, include, lib という三つのフォルダがあると思います。それぞれのファルダの中に入っているファイルを、

ローカルディスク(C:) > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v8.0

の中の該当するフォルダに入れてください。入れ先のフォルダは前項で紹介したCUDAを入れないと出現しないので、必ずCUDAを入れてからこのcuDNNを入れるようにして下さい。


4、Anacondaのインストール

以下のURLよりAnacondaをダウンロードします。

Anacondaのダウンロード:
https://www.continuum.io/downloads

現在の最新版はAnaconda 4.4.0でPython 3.6まで使えますが、Windows版のみTensorflowが対応状態によりPython 3.5でのコーディングしなければなりません。MacとLinuxは最新版の3.6で使えるのにねぇ…。
Windowsは対応機器が安いために世間的に一般的なOSになったかもしれないですが、macOSは根底にあるのがUNIX系なOSなので、UNIXライクなLinuxと同時期に最新版に触れられるのはアドですわ。
お金が無尽蔵にあったらMacほしいなぁ。。あ、ちなみに私はMacBook AirとMac miniを所持しているので立派な林檎信者ですかね(違う)。



5、Tensorflowのインストール

さてようやくここまで来ました。先ほどインストールしたAnacondaにTensorflowをブチ込んでやるぜ^〜↑。

とりあえずAnacondaを起動!。Windows 10だと左下のWindowsマークを左クリックして、出てきた黒ウィンドウの左側のアプリ一覧からAnacondaのフォルダがあるはずです。

そのAnacondaフォルダを開いて、「Anaconda Navigator」というものを起動しましょう。他のはイジらなくていいです、rootで起動しちゃうので。

cap04_convert_20170704173134.png

初回起動時は結構時間かかりますが、コーヒーでも淹れて待ちましょう。

起動すると以下の画面が出てきます。

cap05_convert_20170704173143.png

まず左サイドの「Environments」をクリック!
すると以下のような画面が出てきます。

cap06_convert_20170704173153.png

ここでやる作業は、仮想環境というものを作ったり消したりと、それを整理するところです。

仮想環境ってなんぞ?てなりますよね。

さきほど、本記事ではプログラミング言語のPythonのバージョンは「3.5」でやっていくと言いました。しかし、今後もしかしたらPython 2.7であの作業やりたいなーっていう場面が出てきたとき、いちいちその度に合わんバージョンを削除しては別のバージョンを入れてっていう作業をやっていると非常に非効率なのです。

そこで役立つのが仮想環境。その名の通りですが、任意のフォルダごとに、プログラミング言語やライブラリのバージョンを設定できるのです。こいつは便利!

コマンドでやれば一発なのですが、今回はなるべくコマンドなしでやっていきたいと思います。最後にちょろっと出てくるくらいで。

んで、その仮想環境をつくるために[+]マークのある「Create」ボタンをクリックして、「Environment neme」に仮想環境の名前を入れます(なんでもいいです)。ここでは、「Tensorflow121gpuFC2Blog」という名前でやっていきたいと思います。ネーミングは以下を参照するとよいと思います。

Tensorflow:仮想環境内で使う機械学習ライブラリの名前。
121:今回はTensorflow 1.2.1 でやっていくので、そのバージョンをピリオド無しで。
gpu:TensorflowにはGPU版とCPU版があるので、それを明示的に記述。

ほんで「Python version」は 3.5 を選択!!

私の場合は以下のようになりました。

cap07.png

出来たら右下の「Create」を押しましょう。ここも結構時間かかります。

完了するとrootの下に先ほどの仮想環境が表示されるので、そいつをクリックして選択状態にしてください。すると右側に三角マークがあるので、そこをクリックして、「Open Terminal」を開きましょう。すると黒背景のテンション上がる画面が出てくると思います。

s_cap08.png

さて、この黒い画面にコマンドを打ち込みたいという衝動に駆られないわけもなく、今すぐコマンド打ちたいですよね。

じゃあとりあえず

> pip install --upgrade tensorflow-gpu

と打ち込んで、GPU版のTensorflowをインストールしましょう。(> ←これはTerminalの入力待ち状態のサインです)
一連のインストールが終わったら、最後に

FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

などと出てくるかと思います。これは、Tensorflowが想定しているPythonのsetuptoolsのライブラリとpipで入れられたバージョンが異なるために出てきます。ので、

> pip install --upgrade setuptools

と叩いてインストールしましょう。

じゃあこれでTensorflowがPythonで使えるようになったのか確かめてみましょう。

> python

で、数行文字が出てくるので、その中で「Python 3.5.3」などと表示されていれば正常です。
こうするとPythonを実行できる環境に入ります。これを「Pythonの対話的実行環境」といいます。このときはさっきから使っている「>」ではなく、「>>>」で表すとします。

>>> import tensorflow as tf
>>>

このように入力待ちの状態になっていれば、Tensorflowのインストールに成功してます。
ちなみに対話的実行環境を抜けるためには

>>> exit()
>

で抜けられます。
Python 3系の文法知識がなければこの先に進みづらいですし、これ以上記事を伸ばすのも難なので今回はこれで終わりたいと思います。

では、よいTensorflow on Python ライフを!


〜 余談 〜
この余談は時間を空けて書いてあるので、本編と多少被っている事かもしれませんが、今回Windows10に機械学習の環境を整えることに対して意義を申し立てる人がいるかもしれません。
私もWindowsでこういう特殊なことするのは最新バージョンをいじれなかったりそもそもライブラリが対応してくれなかったりで、オススメはしないです。んで、Linuxで開発環境を整えようにしたのですが、、、色々と苦労しましてね。。
Ubuntu16.04LTSとCentOS7ででやろうと思ったのですが、どちらもグラボのドライバインストールでつまづいてできませんでした。
CentOS7には標準でNouveauというグラフィックドライバが入っていて、それ無効化してX Window止めてNVIDIAのドライバをインストールしようとしたら適応されませんでした。なんでやろなぁ。。
Ubuntuに関してはUnity(だったっけかな)という標準のグラフィックドライバが干渉しているとかいないとかで、NVIDIAドライバ入れたらログイン画面が無限ループされました。18.04LTSからはUnityではなくてGNOMEが復活するようなので、そちらが発表されたらまた試してみようと思います。




スポンサーサイト
編集 / 2017.07.03 / コメント: 0 / トラックバック: 0 / PageTop↑
コメント
 
Title
 
 
 
 
 
 
Secret 


Pagetop↑
トラックバック
Pagetop↑
プロフィール

ヒュー研の中の人

Author:ヒュー研の人
このブログは東京電機大学理工学部ヒューマノイド研究部の公式ブログです。2012年から部に昇格しました!
その日の活動や大会の記録をできるだけ更新していきたいです!!

☆だいたい金曜日前後に更新します☆

FC2カウンター
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
リンク
ブロとも申請フォーム
携帯でみるには↓
QR