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

目的

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関連

『 機械学習 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。