ユーニックス総合研究所

  • home
  • archives
  • tensorflow-docker-install

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を使うと環境構築が簡単にできて便利ですね。