LoginSignup
1
5

More than 5 years have passed since last update.

macOSでTensorFlow(GPU版)がアップデートできなかった

Posted at

v1.0.1からv.1.3.0にアップデートしようとしたときにいきなりハマりましたのでそこから共有します。

TensorFlow in your local macOS

TensorFlow同梱版のKerasを使うために、TensorFlowをローカルでアップデートしようとしたらできないことが判明しました。正確に言うと、推奨されていないことがわかりました。

TensorFlowバージョン確認

何はともあれ現状確認からです。バージョン確認は次のようにして実施できます。

import tensorflow as tf
tf.__version__
# '1.0.1'

TensorFlow doesn't support GPU on macOS

Installing TensorFlow on Mac OS Xによると、macOSではv1.2.0以降GPUサポートを打ち切ってました。

Note: As of version 1.2, TensorFlow no longer provides GPU support on Mac OS X.

理由を求めてGithubを見に行ったところ、次のIssueが見つかりました。

GPU support on Mac OS X? compile by oneself? · Issue #12770 · tensorflow/tensorflow

The reason is Apple has not released a Mac with an NVIDIA GPU since 2014. We tested with external boxes, but there were too many issues around the drivers and software TF depended on.
Therefore, we decided to drop support for GPUs on MacOS.

一応、GCCを使ったりすればビルドできなくはない様子です。

ただ、問題が起こることはTensorFlowの中の人が確認済みのようなので、今回は避けます。

TensorFlow on your container

環境構築はDockerを利用しました。TensorFlowの環境構築には様々な選択肢がありますが、ここでは最も手数が少なさそうなものを選びました。

TensorFlow Official Image

ローカルで環境構築をする理由も特になくなったため、Dockerを使って環境構築します。今回は公式配布のイメージを使います。公式のイメージを利用するとJupyter NotebookやScikit learnもmatplotlibもscipyもnumpyもついてくるのはもっと知られてもいいんじゃないかと思います。

# works
import numpy as np
import scipy
import matplotlib
import seaborn as sns
import skleran

# doesn't works
# import seaborn

今回はPython3で利用したいので:latestではなく:latest-py3を利用します。

$ docker pull tensorflow/tensorflow:latest-py3

それ以外にもバージョンを指定してインストールできるように沢山のイメージがありますので、適当に作りたい場合やバージョンを固定したい場合、macOSでGPUサポートを有効したバージョン(v1.1)と最新版を共存させたい場合などにもDockerが選択肢に上がるかと思います。

スクリーンショット 2017-09-03 13.30.24.png

One of Other Choices

他にもJupyterからjupyter/tensorflow-notebookという気になる名前のDocker Imageが出ているのでこちら試してみました。

こちら、TensorFlowをAnacondaを使ってインストールしているためTensorBoardがまともに動きません…。バッチリこっちの内容に引っかかります。

TensorBoardを用いたデバッグがしたい場合は、改めてpipでインストールすると可能になります。こちらそんなに時間かからないので、必要になった段階で試せば十分な感じでした。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5