はじめに
機械学習等をしたいなぁっと思って、はや5年近く。
『Chainer』を最初の頃は使おうと思っていたのですが、まだ使い始めた頃は発展途中だったり、自身の知識不足でなぁなぁな状態でやめてしまいました。
そんなこんなな時間を過ごしてきて、この前『TensorFlow User Group』とGoogleが共催で「Machine Learning Developer Meetup Tokyo」というのがあり、GoogleのJeff DeanやChainerの発展に大きく影響を与えた秋葉 拓哉(@iwiwi)さん等がスピーカーで、「あぁ、結構面白くなったなぁ」っと思って、プライベートでまた勉強しようかなぁっと思った今日です。はい。
それで、まぁ今回はTensorFlowをmacOSでParallelsを使ってUbuntuの仮想環境を構築して、TensorFlowを使用できる状態にしたというお話。
まぁ、TensorFlowの公式ドキュメントを読めば分かるので、英語が読める人はそちらを参照してください。
(公式ドキュメント:https://www.tensorflow.org/install/install_linux#InstallingAnaconda)
環境
- Anaconda 4.3.30 (Python3.6.3)
install
はい、今回はAnacondaを使用しています。(Anacondaのインストールは割愛します。)
- tensorflowという名前のconda環境を作成して、次のコマンドを呼び出してPythonのバージョンを実行します。
$ conda create -n tensorflow python=(ご自身のPythonのバージョン)
- 作成した仮想環境を起動させます。
$ source activate tensorflow
(tensorflow)$ # Your prompt should change
- TensorFlowをインストールします
(tensorflow)$ pip install --ignore-installed --upgrade (tfBinaryURL)
tfBinaryURLは、PythonのバージョンおよびCPUだけを使うのか、GPUも使うのかで異なります。
tfBinaryURLは、TensorFlow Python packageから取得してください。
ちなみに、私はPython3.6でCPUのみだけで動けばいいので次のようにしました。
(tensorflow)$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl
これでインストール完了です。
実際に動かしてみた
さて、この状態でターミナル上の対話形式で、次のように動かしてみたら次のようになりました。
(tensorflow)$ python
Python 3.6.3 |Anaconda, Inc.| xxx
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
/xxx/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
return f(*args, **kwds)
>>>
(※「xxx」部分は隠すために使用しているので、実際は違う内容が書かれています。)
まぁ、つまりエラーが出たんです。
そう、実はこれが真の今回の話題だったんです。
'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
さて、これに関して実はすぐに検索したら答えが出ました。
参照したのは次のサイトです。
まぁ、上記のサイトに行くと「https://github.com/lakshayg/tensorflow-build」という所に行けって書いてあり、そこではご自身のTensorFlow(TF)のバージョンやOSのバージョン、GCCのバージョン、Pythonのバージョンにあったものを入れてねっというものです。
gccのバージョンは次のコマンドで分かります。
terminal:
gcc --version
ちなみに、私は次のようにしました。
pip install --ignore-installed --upgrade https://github.com/sigilioso/tensorflow-build/raw/master/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl
これを実行して再度チャレンジすると、
(tensorflow)$ python
Python 3.6.3 |Anaconda, Inc.| (xxx)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>>
という感じで使えました(o´艸`o)
これで、TensorFlowが使えるぜ!!!