Dockerから最新のTensorflowを使う方法【Windows】
- 作成日: 2021-04-05
- 更新日: 2023-12-24
- カテゴリ: Tensorflow
DockerからTensorflowを使う
TensorflowとはGoogleが開発しているオープンソースの機械学習ライブラリです。
これのインストールには色々な方法が用意されており、代表的なのがpipを使った方法とDockerを使った方法です。
この記事ではDockerでTensorflowを使えるようにするところまでやってみたいと思います。
具体的には↓を見ていきます。
- WindowsにDockerをインストール
- コマンドプロンプトからDockerの動作テスト
- Tensorflowのイメージをダウンロード
- イメージからコンテナを走らせる
- JupyterNotebookにログインする
- Tensorflowのバージョンを表示する
WindowsにDockerをインストール
Dockerなので環境は何でもいいんですが、今回はWindowsを例に解説します。
2021年現在においてWindows環境でもDockerは使うことが可能です。
↓のサイトからDockerのインストーラーをダウンロードします。
インストーラーをダウンロードしたらダブルクリックしてインストール・ウィザードを起動します。
インストール・ウィザードの指示に従ってボタンをクリックして行って、最後にログアウトするかどうか確認画面が出るのでボタンをクリックしてWindowsから一旦ログアウトします。
再ログインするとバックグラウンドでDockerが起動しますので、コマンドプロンプトなどからDockerを実行できるようになります。
コマンドプロンプトからDockerの動作テスト
コマンドプロンプトやPowershellを開いて以下のコマンドを実行します。
docker
すると↓のようにDockerの使い方が表示されます。
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default
"C:\\Users\\taro\\.docker")
-c, --context string Name of the context to use to connect to the
daemon (overrides DOCKER_HOST env var and
default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level
("debug"|"info"|"warn"|"error"|"fatal")
(default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default
"C:\\Users\\taro\\.docker\\ca.pem")
--tlscert string Path to TLS certificate file (default
"C:\\Users\\taro\\.docker\\cert.pem")
--tlskey string Path to TLS key file (default
"C:\\Users\\taro\\.docker\\key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
この表示が出ればDockerの準備は完了です。
Tensorflowのイメージをダウンロード
Tensorflowの公式ページを参考に
コマンドプロンプトから↓のコマンドを実行します。
docker pull tensorflow/tensorflow:latest
このコマンドを実行するとDockerがインターネットから最新のTensorflowのイメージをダウンロードします。
イメージとはコンテナの元になるファイルのことです。Dockerではイメージから複数のコンテナを走らせて使います。
イメージからコンテナを走らせる
Tensorflowのイメージをダウンロードしたら、今度はそのイメージからコンテナを走らせます。
コンテナを走らせるには↓のコマンドを実行します。
docker run -it -p 8888:8888 tensorflow/tensorflow:latest-jupyter
コンテナが走るとJupyter Notebookが起動します。
サーバーがhttp://localhost:8888
に公開されます。
このとき端末にJupyter Notebookのトークンが表示されているので、これをコピーしておきます。
トークンは↓のようなURLの
http://xxxx:8888/?token=xxxx
token=
以降のハッシュ値のことです。このハッシュ値をコピーしておきます。
これはJupyter Notebookのログインで必要になります。
JupyterNotebookにログインする
ブラウザでhttp://localhost:8888
にアクセスするとJupyter Notebookのログイン画面が現れます。
「Password or token」の入力欄に先ほどコピーしておいたハッシュ値をペーストします。
ログインボタンを押すとログインが完了してNotebookが使えるようになります。
Tensorflowのバージョンを表示する
Jupyter Notebookにログインするとtensorflow-tutorials
というディレクトリがあるのが見えます。
このディレクトリに移動してその中にあるclassification.ipynb
を開きます。
「Basic classification: Classify images of clothing」という見出しの↓あたりに↓のようなコードが表示されています。
# TensorFlow and tf.keras
import tensorflow as tf
# Helper libraries
import numpy as np
import matplotlib.pyplot as plt
print(tf.__version__)
このコードはTensorflowのバージョンを表示するコードです。
コードの中にマウスカーソルを移動してクリックします。
それからCtrl+Enterを押してスクリプトを実行します。
スクリプトの実行に成功すると↓のようなバージョンが表示されます。
2.4.1
おわりに
今回はDockerでTensorflowを使うところまでやってみました。
Dockerを使うと環境構築が簡単にできて便利ですね。