Python3 TensorFlow for Mac 環境構築


前提

本チュートリアルについて

TensorFlowを一から学ぶ場合、様々な知識や高価なコンピュータが必要ですが、本チュートリアルではそれらの前提を取っ払って "とりあえず動かしてみる" というフィーリングの元にTensorFlowの環境構築を行います。

環境

  • OS: Mac OS Sierra 10.12.6
  • 言語 : Python 3.6.0

python3.7以上でTensorFlowを動作させたい場合は下記の記事が参考になります。
参考 : MacOS Mojave & Python3.7 でTensorflow環境構築しようとして詰まった話

macOS Mojaveで動作させる場合は下記の記事が参考になります。
参考 : macOS Mojaveで pyenvを使ってpython3系を使えるようにする

対象読者

  • TensorFlowを始めたい方
  • とりあえずTensorFlowを動かしたい方
  • 最小構成で環境構築をしたい方

目次

  • 1.Xcode Command Line Toolsのインストール
  • 2.Homebrewのインストール
  • 3.pyenv-virtualenvのインストール
  • 4.TensorFlowのPython環境を構築
  • 5.pipのインストール
  • 6.TensorFlowのインストール

TensorFlowの開発環境を構築

1.Xcode Command Line Toolsのインストール

Command Line Toolsとは

Command Line Toolsは、AppleがMacOS/MacOSX 向けに提供している統合開発環境の一部です。UNIXベースのアプリケーションをインストールする際に必要なGCCコンパイラ等が含まれています。AppleIDを持っている方はAppleDeveloperでダウンロードすることも可能です。
Command Line Toolsをインストールする前に、XcodeをAppStoreから入手してください。

後にインストールするHomebrewの前提作業です。
Xcode Command Line toolsをインストールします。

terminal
$xcode-select --install

ライセンスの許可を求められる場合は、ライセンス使用許諾契約に同意してください。

※以下のようなエラーが出力される場合、既にCommand Line toolsはインストールされています。

terminal
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

2.Homebrewのインストール

HomeBrewとは

HomeBrewはMacOS/MacOSX向けに提供されているパッケージマネージャーです。コマンドラインからソフトウェアの管理が行えます。
一般的にソフトウェアをインストールする場合、ソフトウェアの実行ファイルを手動で取得するか、ソースコードを手動でビルドする必要がありますが、HomeBrewはそれらの一連の作業を自動的に行います。

Homebrew公式サイトに記載されている以下のコマンドをコピーして実行します。

terminal
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

下記ように出力されている場合、Homebrewのインストールは完了しています。

terminal
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
...
...
==> Installation successful!
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html
==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh

3.pyenv-virtualenvのインストール

pyenv,pyenv-virtualenvとは

pyenvはpythonのバージョン管理システムです。Pythonのバージョン切り替えが行えます。
pyenv-virtualenvはPython環境を管理するためのPyenvプラグインです。

Homebrewでpyenvをインストールします。

terminal
$ brew install pyenv

Homebrewでpyenv-virtualenvをインストールします。

terminal
$ brew install pyenv-virtualenv

Pythonのバージョン一覧を表示して確認します。

terminal
$ pyenv install -l

Python3.6.0をインストールし、Shimsをリフレッシュします。

terminal
$ pyenv install 3.6.0
...
...
$ pyenv rehash

4.TensorFlowのPython環境を構築

TensorFlowのPython環境を作成します。

terminal
$ pyenv virtualenv 3.6.0 TensorFlow
$ pyenv rehash

TensorFlow用に作成したPython環境を指定します。

terminal
$ pyenv global TensorFlow

TensorFlow用に指定したPython環境を確認します。

terminal
$ python --version
Python 3.6.0

5.pipのインストール

pipとは

pip(Pip Installs Packages)はPythonのパッケージ管理システムです。pythonでサードパーティ製のライブラリを利用したい場合、pipでそれらのパッケージを管理できます。

Pythonのプラグイン管理ツール(pip)をインストールし、アップデートします。

terminal
$ sudo easy_install pip
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade pip

6.TensorFlowのインストール

pipでTensorFlowをインストールします。

terminal
$ pip3 install --upgrade tensorflow

TensorFlowの動作確認をします。

terminal
$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!

以下のようにエラーが出力された場合は、下記リンクも参考にしてください。

terminal
this TensorFlow binary was not compiled to use: AVX2 FMA

参考:(Qiita)macOS で「this TensorFlow binary was not compiled to use: AVX2 FMA」エラー

exit()で終了します。

terminal
>>> exit()

次回はTensorFlowで遊びます。

追記

2017/8/21 pyenvのインストールする項目を追記しました。