31
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows 8.1にTheano/Kerasをインストール

Last updated at Posted at 2015-07-18

はじめに

  1. Theanoとは
  • 多次元の配列を含む数式を効率的に定義、最適化、評価するためのPythonライブラリ
  1. Kerasとは
  • Python / Theanoによって実装されたミニマルかつ高度にモジュラー化されたニューラルネットワークライブラリ
  • モジュール化、ミニマリズム、拡張性により、簡単かつ素早くプロトタイピングすることがきる。
  • convolutional network(CNN)とrecurrent network(RNN)および、それらの組み合わせサポートしている。
  • 任意の接続スキームをサポートしている(モデルに対する複数のインプット、複数のアウトプット等)。
  • CPUとGPUでシームレスに実行することができる。

参考資料

インストール先の環境

本手順の確認に使用したインストール先環境を以下に示す。

OS: Windows 8.1 64bit
GPU: NVIDIA GeForce GTX 760

Visual Studio Community 2013のインストール

  1. 以下のURLのページからインストーラをダウンロードして実行する。

https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs
  • Microsoft Visual Studio Community 2013 Update 4 - 英語(vs_community.exe)をダウンロード
  • MFC等のOptional features to installは必要ないので全てチェックを外してインストールする(必要になったら後からインストールできる)。
  1. Visual Studio Community 2013は無償のソフトウェアであるがMicrosoftアカウントに紐づくライセンスは必要となる(30日で試用期間が切れる)。
    したがって、インストール後に一度起動し、Microsoftアカウントでサインインすることにより、ライセンスのダウンロードとインストールを行う必要がある。

CUDA 7のインストール

  1. 以下のURLのページからインストーラをダウンロードして実行する。

https://developer.nvidia.com/cuda-downloads
  • Windows 8.1 Network Installer (cuda_7.0.28_windows_network.exe)をダウンロード
  • インストールオプションは全てデフォルトのまま変えずにインストールする。

Git for Windowsのインストール

  1. 以下のURLのページからインストーラをダウンロードして実行する。

http://msysgit.github.io/
  • Git-1.9.5-preview20150319.exeをダウンロード

  • コマンドプロンプトから使用できるように Adjusting your PATH environment を Use Git from the Windows Command Prompt に設定してインストールする。
  • それ以外のインストールオプションは全てデフォルトのまま変えずにインストールする。

※以下、Python 3.4系のインストール手順を示す(未確認であるが2.7系でも同様の手順になるものと思われる)。

Anacondaのインストール

  1. 以下のURLからインストーラをダウンロードして実行する。

http://continuum.io/downloads#py34
  • Windows 64-Bit Python 3.4 Graphical Installer (Anaconda3-2.3.0-Windows-x86_64.exe)をダウンロード
  • インストールオプションは全てデフォルトのまま変えずにインストールする。
  1. パッケージを最新状態にアップデートしてから、Theanoの実行に必要なパッケージ(mingw, libpython)をインストールする。
  • コマンドプロンプトで以下のコマンドを実行する。

\>conda update conda
\>conda update anaconda
\>conda update --all
\>conda install mingw libpython

Theanoのインストール

  1. Github上のTheanoをインストールする。
  • コマンドプロンプトで以下のコマンドを実行する。

>pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
Collecting git+git://github.com/Theano/Theano.git
  Cloning git://github.com/Theano/Theano.git to c:\users\USERNAME\appdata\local\temp\pip-j0qynrd6-build
Installing collected packages: Theano
  Found existing installation: Theano 0.7.0
    Uninstalling Theano-0.7.0:
      Successfully uninstalled Theano-0.7.0
  Running setup.py install for Theano
Successfully installed Theano-0.7.0
  1. 設定ファイル(.theanorc.txt)をホームフォルダに作成する。


```%USERPROFILE%\theanorc.txt
[global]
device = gpu
floatX = float32
#optimizer_including = cudnn

[nvcc]
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
fastmath = True
```
  1. 以下のテストプログラムを実行し、GPUの使用が有効になっていることを確認する。


```theano_test.py
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print('Looping %d times took' % iters, t1 - t0, 'seconds')
print('Result is', r)
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')
```
  • 実行結果

\>python theano_test.py
DEBUG: nvcc STDOUT mod.cu
(以下、DEBUG出力は省略)
Using gpu device 0: GeForce GTX 760
[GpuElemwise{exp,no_inplace}(), HostFromGpu(Gp
uElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.472337007522583 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  2.20771813  2.29967761
  1.62323296]
Used the gpu

Kerasのインストール

  1. Github上のKerasをインストールする。
  • コマンドプロンプトで以下のコマンドを実行する。

>pip install --upgrade --no-deps git+git://github.com/fchollet/keras.git
Collecting git+git://github.com/fchollet/keras.git
  Cloning git://github.com/fchollet/keras.git to c:\users\USERNAME\appdata\local\temp\pip-kmvlykxl-build
Installing collected packages: Keras
  Found existing installation: Keras 0.1.2
    Uninstalling Keras-0.1.2:
      Successfully uninstalled Keras-0.1.2
  Running setup.py install for Keras
Successfully installed Keras-0.1.2
  1. MNIST(手書き数字のデータセット)の画像認識のサンプルプログラムを実行して動作確認する。
  • 以下のサンプルプログラムをダウンロードする。

https://raw.githubusercontent.com/fchollet/keras/master/examples/mnist_mlp.py
  • コマンドプロンプトで以下のコマンドを実行する。

    (データセットがダウンロードされ、学習(Train)と評価(Test)が行われる)

>python mnist_mlp.py
Using gpu device 0: GeForce GTX 760
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.pkl.gz
15302656/15296311 [==============================] - 7s
60000 train samples
10000 test samples
DEBUG: nvcc STDOUT mod.cu
(以下、DEBUG出力は省略)
Train on 60000 samples, validate on 10000 samples
Epoch 0
1s - loss: 0.5052 - acc: 0.8540 - val_loss: 0.2022 - val_acc: 0.9391
Epoch 1
1s - loss: 0.2114 - acc: 0.9379 - val_loss: 0.1349 - val_acc: 0.9588
Epoch 2
1s - loss: 0.1529 - acc: 0.9546 - val_loss: 0.1089 - val_acc: 0.9672
Epoch 3
1s - loss: 0.1256 - acc: 0.9628 - val_loss: 0.0907 - val_acc: 0.9712
Epoch 4
1s - loss: 0.1085 - acc: 0.9668 - val_loss: 0.0812 - val_acc: 0.9747
Epoch 5
1s - loss: 0.0945 - acc: 0.9707 - val_loss: 0.0742 - val_acc: 0.9766
Epoch 6
1s - loss: 0.0856 - acc: 0.9740 - val_loss: 0.0790 - val_acc: 0.9765
Epoch 7
1s - loss: 0.0774 - acc: 0.9763 - val_loss: 0.0756 - val_acc: 0.9769
Epoch 8
1s - loss: 0.0721 - acc: 0.9771 - val_loss: 0.0671 - val_acc: 0.9785
Epoch 9
1s - loss: 0.0666 - acc: 0.9797 - val_loss: 0.0712 - val_acc: 0.9774
Epoch 10
1s - loss: 0.0623 - acc: 0.9805 - val_loss: 0.0670 - val_acc: 0.9770
Epoch 11
1s - loss: 0.0587 - acc: 0.9818 - val_loss: 0.0727 - val_acc: 0.9779
Epoch 12
1s - loss: 0.0554 - acc: 0.9823 - val_loss: 0.0643 - val_acc: 0.9804
Epoch 13
1s - loss: 0.0512 - acc: 0.9832 - val_loss: 0.0709 - val_acc: 0.9787
Epoch 14
1s - loss: 0.0495 - acc: 0.9847 - val_loss: 0.0638 - val_acc: 0.9803
Epoch 15
1s - loss: 0.0465 - acc: 0.9845 - val_loss: 0.0664 - val_acc: 0.9809
Epoch 16
1s - loss: 0.0443 - acc: 0.9860 - val_loss: 0.0599 - val_acc: 0.9831
Epoch 17
1s - loss: 0.0438 - acc: 0.9857 - val_loss: 0.0652 - val_acc: 0.9813
Epoch 18
1s - loss: 0.0419 - acc: 0.9865 - val_loss: 0.0673 - val_acc: 0.9813
Epoch 19
1s - loss: 0.0387 - acc: 0.9877 - val_loss: 0.0682 - val_acc: 0.9805
Test score: 0.0682498943741
Test accuracy: 0.9805

31
29
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
31
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?