LoginSignup
3
2

More than 5 years have passed since last update.

PythonでTensorFlowを始めるまでにしなきゃいけないこと

Last updated at Posted at 2018-08-06

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の公式サイトを参考にインストールします。

コマンドプロンプトの場合

cmd
@"%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の場合

PowerShell
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Anacondaのインストール

こちらのサイトを参考にしながらインストールをしましょう。
以下のコマンドを入力するとインストールが行われます。

PowerShell
choco install anaconda3

Pathを通す

なおChocolateyでインストールした場合、インストーラでは自動でやってくれる環境変数のPathの設定が行われません。
なので手動で環境変数の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 と進めます。

anaconda_navigator01.jpg

次に環境名(ここでは"tf190"としています)を入力し、Pythonのバージョンを3.6に設定したらCreateで環境を作ります。

anaconda_navigator02.png

環境が構築されたら先ほど環境名のところにある右三角をクリックしOpen Terminalをクリックしましょう。

anaconda_navigator03.jpg

すると先頭に(tf190)という先ほど作った環境名が入ったコマンドプロンプトが開きます。
これで専用の開発環境で開発できる準備ができました。
以降のコマンド操作はこの環境のコマンドプロンプトを通して実行していってください。

TensorFlowのインストール

TesorFlowのインストールにはCPU版とGPU版があります。
それぞれの違いはCPUを使って機械学習するかGPUのサポートを使って高速に機械学習するかという点です。
GPUがあればGPU板をインストールしたほうがいいでしょう。それぞれでできることは変わりません。
ではさっそくこちらのTensorFlowのインストールガイドを参考にインストールしていきましょう。今回インストールするバージョンは1.9.0です。

CPU版のインストール

CPU版のTensorFlowのインストールは以下のコマンドを入力するだけです。

CPU版のインストール
$ 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のインストールは以下のコマンドを入力します。

GPU版のインストール
$ pip install tensorflow-gpu

インストールできたかの確認

コマンドプロンプトでpythonの対話型シェルを起動してimportできるかを確かめましょう。
何も表示されなければインストールできています。

コマンドプロンプト
(tf190) $ python
>>> import tensorflow
>>> # ここに何も表示されなければインストールできています。

終わりに

以上でTensorFlowを使うまでの準備は整いました。TensorFlowのバージョンが変わればその他のソフトの要求されるバージョンも変わるのでインストールする際はしっかり公式HPを確認してインストールをしましょう。
環境ができれば、あとはデータ収集やら機械学習やら判別器の作成やらをやるだけです。
いろいろアイデアが浮かんでいるので暇があれば記事にしたいと思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2