TensorFlowでDeepLearningを学習する ~インストール~

更新履歴:
2018/04/24 Version1.7に合わせて記事を更新しました。旧記事はこちら

人工知能、話題ですね。

碁や将棋でコンピューターが名人を打ち負かしたとか、車が勝手に自分で運転するだとか…すごいです。まさにSFの世界が現実になろうとしています。

私もうまいこと人工知能を作ることができれば

  • 私の代わりに仕事をやってもらったり
  • 株やFXで稼いでくれたり
  • 疲れた時にはやさしい言葉で癒してくれたり

ってことですよね?

これは勉強しない訳にはいかないでしょう。

ディープラーニングというのがカギのようですが、どうやらGoogleが開発したTensorFlowなるものを使えば人工知能を作れる?

TensorFlowとは

お約束ですがTensorFlowとは何でしょう?GoogleのTensorFlowのサイトを見てみました。

TensorFlow™ is an open source software library for high performance numerical computation.

TensorFlow™は、高性能数値計算用のオープンソースソフトウェアライブラリです。

By Google翻訳

どうやらソフトウェアのライブラリらしいです。でもよく聞く機械学習って言葉が出てきません。

Originally developed by researchers and engineers from the Google Brain team within Google’s AI organization, it comes with strong support for machine learning and deep learning and the flexible numerical computation core is used across many other scientific domains.

もともとGoogleのAI組織内のGoogle Brainチームの研究者やエンジニアによって開発されたもので、機械学習や深い学習を強力にサポートしており、柔軟な数値計算コアは他の多くの科学分野で使用されています。

By Google翻訳

機械学習はもちろんのこと、柔軟なので他のことにもえるよって、言ってますが、今回は機械学習が目的なので他の分野については忘れます。いろんなサイトを見てるとTensorFlowとは”Googleが開発した機械学習用ライブラリで主にPythonから利用されます”といった感じでしょうか。

まずはインストールしないと始まりません。現在最新の1.7をインストールします。公式のインストールドキュメントに従って進めていきます。

Windows

Python (Anaconda)

TensorFlowをPythonから利用するためまずはPythonをインストールします。私はAnacondaというパッケージを使いました。

これはPythonと主にデータサイエンスに便利なライブラリをパッケージ化して配布されているものです。

なおTensorFlowはAnacondaを正式にはサポートしてないそうですが(community supported)、公式のドキュメントにもインストール方法が記述してあり問題なく動いてます。

インストーラをダウンロードして起動します。全てデフォルトで進めました。

自分専用にインストールします。

デフォルトのパスにインストールしました。このパスは後で使うのでコピーしておきます。

Pathを自動的に追加してくれるオプションもありますが、”Not recommended”でデフォルトはチェックが入ってません。あとで手動でPathを追加します。

VisualStudioCodeも一緒にインストールできますが、既に入ってるので今回は入れませんでした。

インストールが完了しました。

Pathを追加します。”スタートメニュー”→”Windows システムツール”→”コントロールパネル”でコントロールパネルを開き”システム”→”システムの詳細設定”→”環境変数”で環境変数の画面を表示。

自分用のPathを選択して、”編集”を押します。

パスを3つ追加します。Anacondaをインストールしたフォルダと、その配下の2つのパスです。

  1. C:\Users\ユーザー名\Anaconda3
  2. C:\Users\ユーザー名\Anaconda3\Library\bin
  3. C:\Users\ユーザー名\Anaconda3\Scripts

コマンドプロンプトを起動して、Pythonと入力し、Pythonが起動されたら大丈夫です。

次にTensorFlow用のPython環境を作成します。コマンドプロンプトを管理者モードで開き、以下を入力します。

C:> conda create -n tensorflow pip python=3.5

TensorflowではPythonの3.6もサポートしているようなのですが、公式ドキュメントのAnaconda対応のインストール方法では3.5を使うように指定してあります。ドキュメントの更新忘れなのか、Anacondaでは本当にそうしないといけないのか、は分かりません…

次に作成したTensorFlow用の環境に切り替えてみます。

C:> activate tensorflow
(tensorflow)C:>

切り替わるとプロンプトが変わります。

CudaとcuDNN(GPUを使用する場合)

TensorFlowにはCPU版とGPU版があります。GPU版はNVIDIAのグラフィックボードを利用してかなり高速に計算ができるようになります。もちろんNVIDIAのグラフィックボードが載ってなければ利用できません。GPUを利用するには2つほどNVIDIAのソフトをインストールしておく必要があります。

※注意点としては

  • CUDAは現時点で最新版は9.1ですが、9.0でないとTensorflowではエラーが出て使えません。
  • cuDNNはCUDA9.0用を選択します。
  • cuDNNはダウンロードするにはNVIDIA DEVELOPPERにユーザー登録する必要があります。

CUDAですが、最新版のページから”Legacy Releases”を選び、過去バージョンのページに飛びます。

Version9.0を選択します。

あとは自分の環境を指定して、

ダウンロードします。本体とパッチが2つあるので、すべてダウンロードします。

本体、パッチの順にインストーラを起動してインストールします。普通に進めていくだけです。ちなみに画面ではバージョンが9.1になってますが、これは最初知らずにインストールしたときのスクリーンショットです…

パッチも全く同じインストーラが起動するので同じように進めていきます。

cuDNNはCUDA9.0用をダウンロードします。

こちらはインストーラはなく、ただのZipファイルです。展開すると中に”cuda”フォルダがあるのでそれを好きな場所に移動します。そしてその”cuda\bin”フォルダを環境変数のPathに登録します。

TensorFlow

最後にTensorFlowをインストールします。コマンドプロンプトを起動して、TensorFlow用環境をActivateします。

C:> activate tensorflow
(tensorflow)C:> python

CPU版

(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow

GPU版

(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow-gpu

これでインストールは完了です。

動作確認

コマンドプロンプトを起動して、TensorFlow用環境をActivateした後にPythonを起動します。
C:> activate tensorflow
(tensorflow)C:> python

以下を1行ずつ入力してエンターキーを押します。

最後の行を入力してエンターキーを押すと

b'Hello, Tensorflow!'

と表示されればとりあえずインストールはオーケーです。

インストールできたので、ちょっと練習してみました。