Help us understand the problem. What is going on with this article?

TensorFlowを中心とした機械学習環境をUbuntuで構築

More than 1 year has passed since last update.

目的

TensorFlow(r1.1)を中心とした機械学習環境をUbuntu(16.04LTS)に構築します。機械学習環境はvirutalenvを利用してpython3の仮想環境上に構築します。virutalenvを利用することで、システムのライブラリに影響を与えずに、手軽に機械学習環境を構築できます。Mac版はこちら

virtualenvを利用してPython 3の仮想環境を構築

Ubuntu 16.04LTS にはデフォルトでPython 3が入っています。そこで、Python 3のパッケージ管理システムのpipと仮想環境を構築するvirtualenvをシステムに導入します。

terminal
sudo apt install python3-pip python3-dev python-virtualenv

次にvirtualenvを利用してPython 3の仮想環境を構築します。
以下のコマンドでtensorflowという名前のPython 3の仮想環境がカレントディレクトリに構築されます。

terminal
virtualenv --system-site-packages -p python3 tensorflow

仮想環境をアクティベートする

Python 3の仮想環境をアクティベートします。アクティベート後はユーザー名の前に仮想環境名が表示されます。この場合は(tensorflow)。

terminal
user@local $ source tensorflow/bin/activate 
(tensorflow) user@local $ python --version
Python 3.5.2

Python 3の仮想環境上にTensorFlowなどの機械学習ライブラリをインストール

tensorflowにはpipのver 8.1以上が必要なので最新バージョンをインストールします。

terminal
easy_install -U pip

仮想環境上でTensorFlowをインストールします。GPUを使う場合はCUDAやcuDNNの設定が必要です。

terminal
pip3 install tensorflow     # CPUを使う場合
pip3 install tensorflow-gpu # GPUも使う場合

よく使う機械学習関連のライブラリなどもお好みでインストールしましょう。

terminal
pip install scipy matplotlib scikit-learn Keras jupyter

仮想環境からの脱出

仮想環境から脱出する際は、deactivateというコマンドを打てばOK。通常のコマンドライン表示に戻ります。

terminal
(tensorflow) user@local $ deactivate
user@local $

その他pip関連

パッケージ情報を書き出し、違う環境で同じパッケージをインストール

pip freezeコマンドでインストールしたパッケージを全て書き出せます。書き出したファイルを違う環境で使えば、同じパッケージをインストールできます。

terminal
#インストールしたパッケージ情報を"requirements.txt"に書き出す。
pip freeze > requirements.txt
#同じパッケージをインストール
pip install -r requirements.txt

パッケージを一括アップグレード

以下の一行のコマンドでインストールされているPythonのパッケージを全てアップグレードできます。

terminal
pip list --format=legacy --outdated | awk '{print $1}' | xargs pip install --upgrade

参考

TensorFlow
virtualenvについて
GPU環境の構築について
pip関連
JeJeNeNo
Researcher
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away