Ubuntu
macos
仮想環境
TensorFlow

Ubuntu@macOS上にTensorFlowを導入してみた

はじめに

機械学習等をしたいなぁっと思って、はや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のインストールは割愛します。)

  1. tensorflowという名前のconda環境を作成して、次のコマンドを呼び出してPythonのバージョンを実行します。
$ conda create -n tensorflow python=(ご自身のPythonのバージョン)
  1. 作成した仮想環境を起動させます。
$ source activate tensorflow
 (tensorflow)$  # Your prompt should change 
  1. 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が使えるぜ!!!