LoginSignup
3
3

More than 3 years have passed since last update.

Tensorflow2.1.0をWindows10のAnacondaで使う!

Last updated at Posted at 2020-05-06

先に結論

TensorFlow2.1.0がWindows10のPython3.7上で使えました!

まえがき

先日 TensorFlow 2.1.0 をGoogle Colabの環境を利用して使ってみました。
何の準備もせずに使えるのはこりゃあ便利だと感動しましたがローカルマシンで動かしたいのと以前から使っていたJupyter Notebook上でも動作させたいということで環境構築、テストをしてみました。
※Anacondaインストール済みからの構築となります。

大まかな流れ

 1. Anaconda Navigtorで新しい仮想環境生成
 2. Visual Studio 2015、2017 および 2019 用 Microsoft Visual C++ 再頒布可能パッケージをインストール
 3. Anaconda NavigtorでTensorFlow,matplotlibなどライブラリをインストール
 4. インストール確認
 5. 実際にTensorFlow 2.0 を動かして手書き文字の認識をしてみよう
 私が詰まったのは2の項目でした。TensorFlow 2.1.0 を使うには追加パッケージをインストールする必要があるみたいなので
 ここがWindows10におけるTensorFlow 2.1.0 のインストールで苦悶するポイントかも?

1. Anaconda Navigtorで新しい環境生成

※仮想環境を使い分ける予定がない場合はrootを利用すればいいのでここの項目の作業はやらなくて大丈夫です。
Anaconda Navigtorを起動して左メニューからenvirmentを選択しcreateを押し、環境名を決めてPython3.7のバージョンを選択してcreateする。(少し時間がかかる)
anaconda_env.png

2. Visual Studio 2015、2017 および 2019 用 Microsoft Visual C++ 再頒布可能パッケージをインストール

https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads/
上記のurlからVisual Studio 2015、2017 および 2019 用 Microsoft Visual C++ 再頒布可能パッケージをダウンロード、インストールします。
TensorFlow 2.1.0 以降のバージョンでは、このパッケージに含まれる msvcp140_1.dll ファイルが必要なようです。
visual.png

このファイル自体は Visual Studio 2019 に含まれているのでVS2019をインストール済みの方は大丈夫です。

3. Anaconda NavigtorでTensorflow,matplotlibなどライブラリをインストール

ここまで終わればもうすぐです。
Anaconda Navigatorに戻りenvirmentで生成した環境を選択した状態で右メニュー左の項目をALLかNot Installedにしてtensorflow,matplotlibを検索してチェックボックスを付けてApplyをしてインストールします。
TensorFlow2.1.0はかなり巨大なライブラリなのでインストールに時間がかかりますが待ちましょう。
anaconda_inst.png

4. インストール確認

Anaconda Navigatorの環境名右の再生ボタンにあるopen with Pythonを選択しコマンドプロンプトを開きます。
ここで以下を実行してインポートとTensorFlowのバージョン確認をしてエラーがないなら正常にインストールできました!

import tensorflow
print(tf.__version__)

Warning! HDF5 library version mismatched error

こちらのようなエラーが出た場合はHDF5ライブラリにバージョンの不整合が出ている恐れがあります。
私は一度動作確認を行った後にこの現象が起き、TensorFlowがインポートできなくなりました。
HDF5ライブラリを再インストールしたら治りました。

pip uninstall h5py
pip install --user h5py

5. 実際にTensorFlow 2.0 を動かして手書き文字の認識をしてみよう

ここまででTensorFlow2.1.0の環境構築は終わりました!
最後にTensorFlow公式サイトの「初心者のための TensorFlow 2.0 入門」を参考にしてニューラルネットワークの構築、訓練を行います。
Jupyter Notebookを起動して以下のコードを実行します。

初めにmnistという画像認識などを行うための訓練データセットを取り込み、ニューラルネットワークのモデルを構築します
```python:データセットの読み込み、モデルの構築
from future import absolute_import, division, print_function, unicode_literals

TensorFlow をインストール

import tensorflow as tf

mnistからデータセットの読み込み

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

ニューラルネットワークのモデルの設定、構築

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
```

モデルの訓練と評価
model.fit(x_train, y_train, batch_size=32, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

こちらが訓練下の経過と結果です。
train.png

データセットの中身を表示
# ヘルパーライブラリのインポート
import numpy as np
import matplotlib.pyplot as plt
#データを10*6に出力
for i in range(0,60):
  plt.subplot(6,10,i+1)
  plt.imshow(x_train[i],cmap='gray')
plt.show()
print(y_train[0:60])

データセットの中身はこんな風になっています。28*28の手書き数字の画像データと数字ラベルが入っていることが分かりますね。
dataset.png

おわりに

TensorFlow2.1.0をWindows10のPython3.7上で使い、mnistの手書き数字のデータセットを元にニューラルネットワークのモデルを訓練してみました。次は自分で用意した手書き数字を予測させてみたいですね。

出典

「pip での TensorFlow のインストール」 https://www.tensorflow.org/install/pip?hl=ja#windows

3
3
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
3