2017年2月12日日曜日

Installation of TesorFlow on windows10

基本メモなので、、、

Raspberry Pi、Mac ProにTensorFlowインストールので次は、Windows10
ただし、先にOpenCV3をビルドしてインストールした関係で、ひと手間必要

課題と解決

仮想環境を使わない開発も行いたいので、下記のような課題が出てきます。
OpenCV3をビルドする時に、MinGW64をインするトールしている。
その為に、MinGWのpythonと、Anacondaのpythonが競合する

従って、Anacondaインストール後に、環境設定でpathを変更する。

大まかな手順

1. Anacondaのインストール

2. 環境設定の変更

3. TensorFlowのインストール(仮想環境版)

4. 確認

1. Anacondaのインストール

インストールは、Anacondaのサイトからダウンロードして、ダウンロードしたファイルを実行します。
この時、インストール先は、Cドライブの自身のホームディレクトリーです
インストールは、インストールしたユーザ利用を選択してインストールします。
これにより、ユーザー環境変数として設定されますので、システム環境変数が優先します。

<注意点>
今回は、python(バージョン3.5)のAnacondaをインストールしました。
現時点(2017/2/10)では、Anaconda3-4.3.0.1が最新です。Pythonも3.6です。しかし、TensorFlowは3.6では動きません。その為にPython3.5のバージョンあるAnaconda2-4.2.0を使いました。また、下図のように、Python3.5.2へのupdateも画面にありますが、これをすると3.6にupdateされてエラーが発生して、再インストールが必要になります。


2. 環境設定の変更

ちなみに、Anadacondaの仮想環境だけで使う場合には、環境設定の変更は必要ないです。

OpenCV3をビルドする為にMinGWをインストールしました。その時にpython2.7もインストールしています。パスを変えないと、このpython2.7が優先されます。両方ともに使えるようにするために変更します。

Windowsの環境変数の設定パネルを使って、ユーザー環境変数に設定してあるAnacondaの値を、システム環境変数に設定しなおします。ユーザー環境変数の値は、削除します。

私は、anacondという変数をつくり、それにAnacondaの設定値を記述し、その変数をPATHの先頭に挿入しました。

システム環境変数にanacondaの変数を作成

システム環境変数にanacondaの変数の内容
ユーザ変数に設定していた値


設定後
 コマンドプロンプトを開いて、下記を入力して画面のイメージになれば設定変更は、成功です。

python -V



3.1 TensorFlowのインストール

最初に、Anaconda Navigatorを使って、仮想環境の構築をします。
tensorflowとして環境構築します。


その後、作った仮想環境からTensorFlowをインストールします。
仮想環境のtensorflowのらんの右に三角形の矢印があり、それをクリックすると、選択画面があり"Open Terminal"を選択します。


選択後、terminal が開きますので、下記のコマンドを入力してインストールします。

pip install tensorflow


上記のようになれば、インストールは成功です。

次に、下記のコマンドを入力して、0.12.1などのようにバージョン表示されたら成功です。

python -c "import tensorflow as tf; print(tf.__version__)"


4. 確認

確認はTensorFlowのサイトにある下記のプログラム(test.py)を実行させます。

import tensorflow as tf
import numpy as np

# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3

# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# Before starting, initialize the variables.  We will 'run' this first.
init = tf.global_variables_initializer()

# Launch the graph.
sess = tf.Session()
sess.run(init)

# Fit the line.
for step in range(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))


コマンドプロンプトでの実行して、下記の結果が表示されます。
python test.py


Peace !!

0 件のコメント:

コメントを投稿