Python環境にTensorFlowをインストールする方法のイメージ画像

Python環境にTensorFlowをインストールする方法

  • 公開日:2018/10/17
  • 更新日:2018/10/19
  • 投稿者:n bit

Pythonで機械学習を行う時によく利用されるオープンソフトウェアライブラリ「TensorFlow」をPython環境で利用できるようにインストール方法と動作確認方法も併せて解説。Google Brainチームが公開している強力なライブラリを使って機械学習を始められます。

  • Python

この記事は約 分で読めます。(文字)

TensorFlowのインストール方法

TensorFlowをpyenv内のPython完了にインストールしていきます。pyenvを使ったPythonの環境構築がまだできていない方は下記のページを参考にしてpyenv内にPythonの環境を構築しておいてください。

まずはTensorFlowのインストールできる最新バージョン検索します。

$ pip search tensorflow

出力結果

tensorflow (1.11.0)                          - TensorFlow is an open source

machine learning framework for
everyone.

今回は最新バージョン1.11.0をインストールしていきましょう。

$ pip install --upgrade tensorflow

上記のコマンドでインストールを行うと下記のようなエラーが表示されました。

Collecting tensorflow

Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow

こちらのエラーが表示されてしまった場合は下記のコマンドにしてインストールを行ってください。下記のインストールコマンドはMac用(/mac/)、CPUのみ(/cpu/)、Python3(py3)、TensorFlowのバージョン1.11.0(tensorflow-1.11.0)用のコマンドです。必要に応じて打ち替えてください。

macOSでCPU-onlyの場合は以下のようになります。

macOS (CPU-only)

pip install --user --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py3-none-any.whl

出力結果

あわせて必要となる関連パッケージが自動的にインストールされています。

Collecting tensorflow==1.11.0 from https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py3-none-any.whl

Using cached https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py3-none-any.whl
Collecting astor>=0.6.0 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/35/6b/11530768cac581a12952a2aad00e1526b89d242d0b9f59534ef6e6a1752f/astor-0.7.1-py2.py3-none-any.whl
Collecting six>=1.10.0 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting protobuf>=3.6.0 (from tensorflow==1.11.0)
Downloading https://files.pythonhosted.org/packages/c7/27/133f225035b9539f2dcfebcdf9a69ff0152f56e0120160ec5c972ea7deb9/protobuf-3.6.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (1.2MB)
100% |████████████████████████████████| 1.2MB 5.6MB/s
Collecting termcolor>=1.1.0 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz
Collecting wheel>=0.26 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/fc/e9/05316a1eec70c2bfc1c823a259546475bd7636ba6d27ec80575da523bc34/wheel-0.32.1-py2.py3-none-any.whl
Requirement already satisfied, skipping upgrade: setuptools<=39.1.0 in ./.pyenv/versions/3.6.6/lib/python3.6/site-packages (from tensorflow==1.11.0) (39.0.1)
Collecting tensorboard<1.12.0,>=1.11.0 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/9b/2f/4d788919b1feef04624d63ed6ea45a49d1d1c834199ec50716edb5d310f4/tensorboard-1.11.0-py3-none-any.whl
Collecting keras-preprocessing>=1.0.3 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/fc/94/74e0fa783d3fc07e41715973435dd051ca89c550881b3454233c39c73e69/Keras_Preprocessing-1.0.5-py2.py3-none-any.whl
Collecting gast>=0.2.0 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz
Collecting absl-py>=0.1.6 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/16/db/cce5331638138c178dd1d5fb69f3f55eb3787a12efd9177177ae203e847f/absl-py-0.5.0.tar.gz
Collecting keras-applications>=1.0.5 (from tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/3f/c4/2ff40221029f7098d58f8d7fb99b97e8100f3293f9856f0fb5834bef100b/Keras_Applications-1.0.6-py2.py3-none-any.whl
Collecting grpcio>=1.8.6 (from tensorflow==1.11.0)
Downloading https://files.pythonhosted.org/packages/24/1a/84396834b04cd43be3c10f5faeadf62d01689b704b3c99d09e1e08a41d9b/grpcio-1.15.0-cp36-cp36m-macosx_10_7_intel.whl (2.0MB)
100% |████████████████████████████████| 2.0MB 6.0MB/s
Collecting numpy>=1.13.3 (from tensorflow==1.11.0)
Downloading https://files.pythonhosted.org/packages/0a/2b/726b7d4e4ba844d4805c52b8e05299a5f49bc16c69ca0fa8e1964c0871fe/numpy-1.15.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (24.5MB)
100% |████████████████████████████████| 24.5MB 1.8MB/s
Collecting werkzeug>=0.11.10 (from tensorboard<1.12.0,>=1.11.0->tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl
Collecting markdown>=2.6.8 (from tensorboard<1.12.0,>=1.11.0->tensorflow==1.11.0)
Using cached https://files.pythonhosted.org/packages/7a/6b/5600647404ba15545ec37d2f7f58844d690baf2f81f3a60b862e48f29287/Markdown-3.0.1-py2.py3-none-any.whl
Collecting h5py (from keras-applications>=1.0.5->tensorflow==1.11.0)
Downloading https://files.pythonhosted.org/packages/44/81/50a0560aac57a33c2a624d9e160735f39d7a6324e3f6f115425a1bf01dd9/h5py-2.8.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (6.0MB)
100% |████████████████████████████████| 6.1MB 8.3MB/s
Installing collected packages: astor, six, protobuf, termcolor, wheel, grpcio, numpy, werkzeug, markdown, tensorboard, keras-preprocessing, gast, absl-py, h5py, keras-applications, tensorflow
Running setup.py install for termcolor ... done
Running setup.py install for gast ... done
Running setup.py install for absl-py ... done
Successfully installed absl-py-0.5.0 astor-0.7.1 gast-0.2.0 grpcio-1.15.0 h5py-2.8.0 keras-applications-1.0.6 keras-preprocessing-1.0.5 markdown-3.0.1 numpy-1.15.2 protobuf-3.6.1 six-1.11.0 tensorboard-1.11.0 tensorflow-1.11.0 termcolor-1.1.0 werkzeug-0.14.1 wheel-0.32.1

『Successfully installed』と表示されていれば問題なくインストールが完了できています。

念のためリストでも確認しておきましょう。

$ pip list

出力結果

Package               Version  

--------------------- ---------



tensorflow 1.11.0


TensorFlowの動作確認

最後にTensorFlowの動作確認を兼ねて正しくインポートすることができるか試しておきましょう。

まずはPythonを呼び出します。

$ python


Python 3.7.0 (default, Oct 4 2018, 14:39:17)
[Clang 10.0.0 (clang-1000.10.44.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Pythonのコマンド入力待ち受けになりましたら『import tensorflow as tf』と入力してください。

>>> import tensorflow as tf

次に公式のチュートリアルに従って動作の確認を行っていきます。ここではコードを深く理解する必要はありませんが簡単にどのようなコードを入力してるのかだけ説明しておきましょう。

tf.constant() は定数を定義しています。Session()オブジェクトからrun()を実行すれば定数の中身を出力できますので、それをprint関数で表示させています。

>>> hello = tf.constant('Hello, TensorFlow!')

>>> sess = tf.Session()
>>> print(sess.run(hello))

出力結果

Hello, TensorFlow!

もう一つ公式のチュートリアルに従って計算を行ってみましょう。先ほどと同じように定数を定義してSession()オブジェクトからrun()を実行することで計算結果を出力しています。

>>> a = tf.constant(10)

>>> b = tf.constant(32)
>>> print(sess.run(a + b))

出力結果

42

特にエラーメッセージもなく出力結果も同じように表示されていれば正しくインストールできていることが確認できました。

もしも何かエラーメッセージが表示されているようであれば次のセクションの該当項目から対策してみてください。

インストール時の注意点やエラーの回避方法

インストール時や動作確認時に起こりやすいエラーやその注意点、回避方法などを解説しておきます。

RuntimeWarning: compiletime version 3.6 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.7

TensorFlowが対応しているPythonバージョンに注意しましょう。現在TensorFlowが対応しているPythonのバージョンは3.6までです。このエラーはPython3.7環境でTensorFlowをインポートしたため出力されました。

エラーメッセージは、「Pythonのバージョン3.6用にコンパイルしているため現在のPython3.7にはコンパイルバージョンが一致しません」と言った類のエラーです。

>>> import tensorflow as tf

/Users/○○/.pyenv/versions/3.7.0/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.6 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.7

エラーの回避方法

こちらのエラーを回避するにはPythonのバージョンを3.6の環境にTensorFlowをインストールして実行しましょう。

pyenvにPythonのバージョン3.6の環境作成します。

# pyenv環境にインストール可能なPythonのバージョンを検索

$ pyenv install --list



3.6.5
3.6.6
3.7.0




# Python3.6.6をインストール
$ pyenv install 3.6.6

# 現在のpyenv環境を確認
$ pyenv versions
system
3.6.6
* 3.7.0 (set by /Users/○○/.pyenv/version)

# pyenv環境のPythonバージョンを3.6.6に切り替え
$ pyenv global 3.6.6

# pipをアップグレード
$ pip install --upgrade pip

# tensorflowをインストール
pip install --user --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py3-none-any.whl


# インストール後のリストを確認
$ pip list
Package Version
------------------- -------
absl-py 0.5.0
astor 0.7.1
gast 0.2.0
grpcio 1.15.0
h5py 2.8.0
Keras-Applications 1.0.6
Keras-Preprocessing 1.0.5
Markdown 3.0.1
numpy 1.15.2
pip 18.1
protobuf 3.6.1
setuptools 39.0.1
six 1.11.0
tensorboard 1.11.0
tensorflow 1.11.0
termcolor 1.1.0
Werkzeug 0.14.1
wheel 0.32.1

エラー解決の確認

エラーが解消されているかPythonに再度TensorFlowをインポートして確認してみましょう。

$ python

>>> import tensorflow as tf

何もエラーが表示されなくなっていればこの問題は解決です。

今日のdot

これでGoogle Brainチームがオープンソースで公開している機械学習のための強力なライブラリー『Google Brainチーム』をPythonの環境で利用することができます。

基本的にはpipのコマンド1つでインストールが完了しますので環境構築はとても簡単です。