この記事では、TensorFlowをWindowsにインストールする方法を説明しています。
普段利用しているWindowsで、気軽に機械学習をしたい人向けの記事です。
本記事の内容
- TensorFlowをWindowsにインストールする方法における環境
- TensorFlowをWindowsにインストールするためのシステム要件の確認
- TensorFlowのWindowsへのインストール
- TensorFlowで機械学習を試す
- TensorFlowをWindowsにインストールする方法のまとめ
まずは、今回の検証で用いた環境の説明です。
TensorFlowをWindowsにインストールする方法における環境
- Windows 10 Home (バージョン1909)※以下の説明は64bit前提
- Python 3.7.3
- TensorFlow
pipコマンドが使えることは前提です。
つまり、AnacondaはすでにWindowsにインストール済みだという前提です。
TensorFlowをWindowsにインストールするためのシステム要件の確認
最新の安定版は、TensorFlow 2になります。
TensorFlow 2をインストールするには、以下のシステム要件をクリアしておく必要があります。
- Python 3.5–3.7
- pip 19.0 以降(manylinux2010 サポートが必要)
- Windows 7 以降(64 ビット)、Python 3 のみ
- Visual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージ
- GPU サポートには CUDA® 対応カードが必要(Ubuntu、Windows 用)
今回は、Windowsに関係する部分をピックアップしています。
1個づつ確認していきましょう。
Python 3.5–3.7
Anaconda Promptにおいて、次のコマンドで確認します。
(base) C:\>python -V Python 3.7.3
もし、対象のPythonのバージョンでなければ、バージョンをあげておきましょう。
個人的には、Anacondaの再インストールが最も簡単な方法です。
pip 19.0 以降(manylinux2010 サポートが必要)
Pythonのバージョンと同じく、Anaconda Promptを利用します。
次のコマンドで確認です。
(base) C:\>pip -V pip 19.0.3 from 【pipのインストールパス】 (python 3.7)
【pipのインストールパス】には、pipのインストールされているフルパスが入ります。
バージョンは、pip 19.0以降の要件をクリアしています。
ただ、pipのバージョンが少し古いです。
この際にpipをバージョンアップしておきます。
次のコマンドでバージョンアップ可能です。
pip install --upgrade pip
では、確認しましょう。
(base) C:\>pip -V pip 20.1.1 from 【pipのインストールパス】 (python 3.7)
バージョンアップされました。
なお、 「manylinux2010 サポートが必要」は、あまり気にする必要はありません。
pip 19以降がインストールできるなら、無視してよいです。
Windows 7 以降(64 ビット)、Python 3 のみ
Windows 10 Home (バージョン1909)で問題なし。
ただ、64ビット以上が必須であれば、古いPCはアウトかもしれませんね。
Visual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージ
インストール済みを確認できる方は、ここはスルーしてください。
インストールしているかどうかわからない方は、インストールします。
もちろん、インストールしていない方はインストールしましょう。
以下のページへアクセスします。
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads
64bitの「vc_redist.x64.exe」をクリックしてダウンロードします。
ダウンロードが完了したら、「VC_redist.x64.exe」(ダウンロードファイルはVが大文字)を実行。
インストールするのは、簡単です。
規約に同意して、「インストール」をクリックするだけとなります。
インストール自体は、数分で完了します。
しかし、再起動が必要です。
GPU サポートには CUDA® 対応カードが必要(Ubuntu、Windows 用)
各自の環境にて、確認してください。
インストール時点では、GPUサポートを特に気にする必要はありません。
古いバージョン(1系)のTensorFlowは、インストール時点で区別していました。
次のようにして指定。
pip install tensorflow-gpu==1.15
TensorFlow 2では、その必要がなくなったということです。
やはり、バージョンアップするごとに便利になっていくのですね。
TensorFlowのWindowsへのインストール
pipでTensorFlowをインストールしていきます。
Googleが用意している公式ページを参考にします。
pip install --user --upgrade tensorflow
インストールが完了すると次の内容が、表示されます。
Successfully installed astunparse-1.6.3 cachetools-4.1.0 gast-0.3.3 google-auth- 1.18.0 google-auth-oauthlib-0.4.1 google-pasta-0.2.0 h5py-2.10.0 keras-preproces sing-1.1.2 oauthlib-3.1.0 opt-einsum-3.2.1 protobuf-3.12.2 pyasn1-0.4.8 pyasn1-m odules-0.2.8 requests-oauthlib-1.3.0 rsa-4.6 scipy-1.4.1 tensorboard-2.2.2 tenso rboard-plugin-wit-1.6.0.post3 tensorflow-2.2.0 tensorflow-estimator-2.2.0
ただ、インストール最中に「ERROR」や「WARNING」が出るかもしれません。
私の場合は、何個が「ERROR」や「WARNING」が出ました。
そこで、検証用のコマンドが公式ページに用意してあります。
「ERROR」や「WARNING」が出なかった場合も、念のために実行しておきましょう。
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
問題なければ、次のように表示されます。
tf.Tensor(-747.357, shape=(), dtype=float32)
ただ、以下のように不安になる表示になる場合があります。
これらのメッセージは、GPUがサポートされていない場合に出ます。
「GPU」とか「nvcuda」などのワードを確認できますね。
2020-06-28 12:14:44.889374: W tensorflow/stream_executor/platform/default/dso_lo ader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64 _101.dll not found 2020-06-28 12:14:44.910376: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2020-06-28 12:14:56.480037: W tensorflow/stream_executor/platform/default/dso_lo ader.cc:55] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found 2020-06-28 12:14:56.487038: E tensorflow/stream_executor/cuda/cuda_driver.cc:313 ] failed call to cuInit: UNKNOWN ERROR (303) 2020-06-28 12:14:56.493038: I tensorflow/stream_executor/cuda/cuda_diagnostics.c c:169] retrieving CUDA diagnostic information for host: hostname 2020-06-28 12:14:56.498038: I tensorflow/stream_executor/cuda/cuda_diagnostics.c c:176] hostname:hostname 2020-06-28 12:14:56.549041: I tensorflow/compiler/xla/service/service.cc:168] XL A service 0x6f49980 initialized for platform Host (this does not guarantee that XLA will be used). Devices: 2020-06-28 12:14:56.556042: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version tf.Tensor(-747.357, shape=(), dtype=float32)
文末を確認してください。
しれっと、結果「tf.Tensor(-747.357, shape=(), dtype=float32)」が表示されています。
これが確認できれば、インストールは成功です。
と言っても、上記の「ERROR」や「WARNING」が出た場合は、不安かもしれません。
それなら、機械学習を実際に試してみましょう。
それでちゃんと動けば、安心できると思います。
問題なくインストールできた場合でも、それは同じでしょう。
TensorFlowで機械学習を試す
TensorFlowの公式には、チュートリアルが充実しています。
すぐに動くコードを載せてくれています。
import tensorflow as tf 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, epochs=5) model.evaluate(x_test, y_test, verbose=2)
実行すれば、以下のような結果となります。
Epoch 1/5 1875/1875 [==============================] - 2s 895us/step - loss: 0.2906 - accuracy: 0.9163 Epoch 2/5 1875/1875 [==============================] - 2s 886us/step - loss: 0.1436 - accuracy: 0.9578 Epoch 3/5 1875/1875 [==============================] - 2s 891us/step - loss: 0.1076 - accuracy: 0.9677 Epoch 4/5 1875/1875 [==============================] - 2s 874us/step - loss: 0.0870 - accuracy: 0.9735 Epoch 5/5 1875/1875 [==============================] - 2s 921us/step - loss: 0.0763 - accuracy: 0.9756 313/313 - 0s - loss: 0.0714 - accuracy: 0.9782
ここまで動けば、安心ですね。
TensorFlowをWindowsにインストールする方法のまとめ
TensorFlowのWindowsへのインストールは、どうでしたでしょうか?
以前のバージョンだと、もう少し面倒だった記憶があります。
TensorFlow 2になって、インストールがとても簡単になっています。
公式ページも以前よりは、わかりやすいです。
そのおかげで、TensorFlowをWindowsにインストールできました。
ここまでは、やろうと思えば誰でもできます。
ただ、ここからが一気に別世界になるのですよね。
機械学習は。
今後、本ブログでは、機械学習についての取り扱いを増やしていきます。
よろしければ、またそれらの記事もご覧ください。