PythonでTensorFlowを始めたい!
最近AIとか機械学習って流行ってますよね?
私はその本質を理解しないままAIってすごいだろ?とか言ってきてしまったわけなのですが、Udemyで面白そうな講座を発見したので学習のため挑戦してみました。今回はその環境構築で躓いたのでメモがてら解説として残したいと思います。
さらに、家のPCにはよくわからないまま買ってしまったそこそこのGPUが搭載されているにも関わらず、ゲームもしないので完全に持ち腐れになっていました。機械学習とかにはGPUが使えるらしいのでこれはチャンス!
せっかくなのでGPUを利用したプログラミングをしたい!!ということでGPU環境での構築をしてみました。
環境
今回は以下の環境で行いました。
- Windows10 Home
- NVIDIA GeForce GTX 1060 6GB
Anaconda3のインストールと環境構築
AnacondaとはPythonとcondaというパッケージマネージャや様々なライブラリがまとめられたものです。
virtualenvなどで行うPythonのバージョン切り替えなんかも簡単にできるのでWindowsユーザーの方はこちらを使いましょう。
ではインストールと開発環境の構築を行っていきましょう。
Chocolateyを使ったインストール
WindowsにはChocolateyというUbuntuでいうaptのようなパッケージマネージャがあります。
アップデートなどの管理をしやすいのでこちらを使ってインストールしました。
直接インストーラを使ってインストールしてもあまり変わらないので好きなほうを選択してください。
Chocolateyのインストール
Chocolateyの公式サイトを参考にインストールします。
コマンドプロンプトの場合
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
PowerShellの場合
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Anacondaのインストール
こちらのサイトを参考にしながらインストールをしましょう。
以下のコマンドを入力するとインストールが行われます。
choco install anaconda3
Pathを通す
なおChocolateyでインストールした場合、インストーラでは自動でやってくれる環境変数のPathの設定が行われません。
なので手動で環境変数のPathに以下のPathを追記してください。
C:\tools\Anaconda3
C:\tools\Anaconda3\Scripts
C:\tools\Anaconda3\Library\bin
以上でAnacondaのインストールは完了です。
開発環境の構築
開発環境によってはPythonやパッケージのバージョンを管理したい場合があると思います。
それを実現するのに役立つ"Anaconda Navigator"というGUIのアプリケーションがAnacondaにはバンドルされています。
こちらを使えば簡単に環境を変えることができます。
LinuxやMacではvirtualenvとかpipenvとかを使うと思いますが同じようなもんです。
では構築を始めましょう。
まず初めにAnaconda Navigatorを起動し、Environments > create
と進めます。
次に環境名(ここでは"tf190"としています)を入力し、Pythonのバージョンを3.6に設定したらCreateで環境を作ります。
環境が構築されたら先ほど環境名のところにある右三角をクリックしOpen Terminal
をクリックしましょう。
すると先頭に(tf190)
という先ほど作った環境名が入ったコマンドプロンプトが開きます。
これで専用の開発環境で開発できる準備ができました。
以降のコマンド操作はこの環境のコマンドプロンプトを通して実行していってください。
TensorFlowのインストール
TesorFlowのインストールにはCPU版とGPU版があります。
それぞれの違いはCPUを使って機械学習するかGPUのサポートを使って高速に機械学習するかという点です。
GPUがあればGPU板をインストールしたほうがいいでしょう。それぞれでできることは変わりません。
ではさっそくこちらのTensorFlowのインストールガイドを参考にインストールしていきましょう。今回インストールするバージョンは1.9.0です。
CPU版のインストール
CPU版のTensorFlowのインストールは以下のコマンドを入力するだけです。
$ pip install tensorflow
GPU版のインストール
GPU版のインストールにはGPUに加え、以下のものが必要になります。
- Visual Studio2017
- CUDA® Toolkit 9.0
- cuDNN v7.0
ではこれらを含めたインストール方法を解説していきます。
Visual Studio2017のインストール
CUDAのインストールにはVisual Studioが必要となりますのでCommunityバージョンをインストールしましょう。
CUDAのインストール
今回はバージョン9.0をインストールします。NVIDIAのCUDAアーカイブからCUDA Toolkit 9.0を選択しインストーラをダウンロード&インストールしてください。ダウンロードの際にDeveloperのアカウントの作成を求められるので各自アカウントを作成してください。
インストール手順はインストーラに従ってすべてデフォルトで問題ないです。
また、パッチがいくつかあるのでそれも一緒にインストールしましょう。
※ Visual Studio Integrationが失敗してインストールが進まない場合
私がCUDAをインストールする際にはまったポイントです。
こちらのサイトを参考にNVIDIAのソフトをすべてアンインストール&Program FilesのNVIDIA関連のファイルを強制削除することで解決しました。なぜこの問題が起こるのかはよくわからないのですがおそらくソフトのバージョンの整合性が合わないような問題が起こっているのではと思っています。今のところ何の問題もなく動いていますが実行する際は自己責任でお願いします。
cuDNNのインストール
こちらのアーカイブからv7.0のfor CUDA9.0と書かれたものをダウンロードしてください。
zipを解凍したらcuda
というフォルダがあります。その中身をC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
にコピペしてください。
以上でcuDNNがインストールされました。
GPU版のTensorFlowのインストール
最後にGPU版のTensorFlowのインストールは以下のコマンドを入力します。
$ pip install tensorflow-gpu
インストールできたかの確認
コマンドプロンプトでpythonの対話型シェルを起動してimportできるかを確かめましょう。
何も表示されなければインストールできています。
(tf190) $ python
>>> import tensorflow
>>> # ここに何も表示されなければインストールできています。
終わりに
以上でTensorFlowを使うまでの準備は整いました。TensorFlowのバージョンが変わればその他のソフトの要求されるバージョンも変わるのでインストールする際はしっかり公式HPを確認してインストールをしましょう。
環境ができれば、あとはデータ収集やら機械学習やら判別器の作成やらをやるだけです。
いろいろアイデアが浮かんでいるので暇があれば記事にしたいと思います。