Dockerイメージから作ったTensorFlowコンテナですが、用意されているそれはTensorFlowのバージョンが古いものになります。
そのためインストールされているTensorFlowのバージョン確認方法と、Dockerコンテナでのバージョンアップについて書いておきます。
TensorFlowのバージョン確認
TensorFlowはpipというpythonのパッケージ管理システムで管理されています。なのでインストールされているバージョンは次のうちどれかで確認できます。
pipのリストを確認する
コンテナで、
# pip list
とするとpipで管理されているリストが出ます。
その中に
tensorflow (0.7.1)
というように、TensorFlowのモジュールとバージョンが書いてあります。
pythonから確認する
pythonのコンソールを開いて、
>>> import tensorflow as tf >>> tf.__version__ '0.7.1'
とするとバージョン番号が返ってきます。
TensorFlowのアップデート
どちらで確認してもバージョンが古いので、アップデートします。
これは公式ドキュメントにあるように、pipにアップデート用のURLを入力して更新します。
# export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl # pip install --upgrade $TF_BINARY_URL
これはバージョン0.10のアップデートになります。他のバージョンの場合は、そこを適宜変更して下さい。
またDockerの公開イメージから作ったコンテナは「Ubuntu/Linux 64-bit, CPU only, Python 2.7」で更新すれば大丈夫ですが、他の環境の場合はそれに合わせてURLを変更して下さい。
対象となるURLは上記ドキュメントに記載されています。
SSLErrorが発生する場合
イメージからコンテナを作っただけの場合だと、
SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
が発生して進まないかもしれません。
これはpythonのバージョンが古いことに起因するので、pythonのバージョンアップを先に行います。
バージョンアップは
# apt-get update # apt-get upgrade python
でOKです。
apt-getはupdateでリストの更新、upgradeで実際のアップデートを行います。
yumなどだとupdateでパッケージの更新、upgradeはOS自体のバージョンを一段階上げるみたいな感じなのでちょっと慣れないところあります。