##目的
TensorFlow(r1.1)を中心とした機械学習環境をUbuntu(16.04LTS)に構築します。機械学習環境はvirutalenvを利用してpython3の仮想環境上に構築します。virutalenvを利用することで、システムのライブラリに影響を与えずに、手軽に機械学習環境を構築できます。Mac版はこちら。
virtualenvを利用してPython 3の仮想環境を構築
Ubuntu 16.04LTS にはデフォルトでPython 3が入っています。そこで、Python 3のパッケージ管理システムのpipと仮想環境を構築するvirtualenvをシステムに導入します。
sudo apt install python3-pip python3-dev python-virtualenv
次にvirtualenvを利用してPython 3の仮想環境を構築します。
以下のコマンドでtensorflow
という名前のPython 3の仮想環境がカレントディレクトリに構築されます。
virtualenv --system-site-packages -p python3 tensorflow
仮想環境をアクティベートする
Python 3の仮想環境をアクティベートします。アクティベート後はユーザー名の前に仮想環境名が表示されます。この場合は(tensorflow)。
user@local $ source tensorflow/bin/activate
(tensorflow) user@local $ python --version
Python 3.5.2
Python 3の仮想環境上にTensorFlowなどの機械学習ライブラリをインストール
tensorflowにはpipのver 8.1以上が必要なので最新バージョンをインストールします。
easy_install -U pip
仮想環境上でTensorFlowをインストールします。GPUを使う場合はCUDAやcuDNNの設定が必要です。
pip3 install tensorflow # CPUを使う場合
pip3 install tensorflow-gpu # GPUも使う場合
よく使う機械学習関連のライブラリなどもお好みでインストールしましょう。
pip install scipy matplotlib scikit-learn Keras jupyter
###仮想環境からの脱出
仮想環境から脱出する際は、deactivate
というコマンドを打てばOK。通常のコマンドライン表示に戻ります。
(tensorflow) user@local $ deactivate
user@local $
##その他pip関連
###パッケージ情報を書き出し、違う環境で同じパッケージをインストール
pip freeze
コマンドでインストールしたパッケージを全て書き出せます。書き出したファイルを違う環境で使えば、同じパッケージをインストールできます。
#インストールしたパッケージ情報を"requirements.txt"に書き出す。
pip freeze > requirements.txt
#同じパッケージをインストール
pip install -r requirements.txt
###パッケージを一括アップグレード
以下の一行のコマンドでインストールされているPythonのパッケージを全てアップグレードできます。
pip list --format=legacy --outdated | awk '{print $1}' | xargs pip install --upgrade
##参考
TensorFlow
virtualenvについて
- Ubuntu 16.04 LTSでのVirtualenvを用いたPython環境構築方法 - Qiita
- [pyenvが必要かどうかフローチャート - Qiita] (http://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7)
- virtualenvでpython3の環境を作成する際のコマンド - Qiita
GPU環境の構築について
- [CUDA 8.0とcuDNN 5.1をUbuntu 16.04LTSにインストールする - Qiita] (http://qiita.com/JeJeNeNo/items/05e148a325192004e2cd)
pip関連
- [Python アプリ依存パッケージ管理 ベストプラクティス集 - Qiita] (http://qiita.com/zakuro9715/items/68c8d8c6b1b05f91fa2e)
- pipで一括アップデート(確認付き) - Qiita