LoginSignup
8
10

More than 5 years have passed since last update.

[docker] python3.5 + numpy + matplotlib の環境構築

Last updated at Posted at 2017-04-15

ゼロからつくる Deep Learning 用の環境構築 メモ

===========2017/04/15 22:24 追記===============
本記事の方法に沿って作成したdocker image を
https://hub.docker.com/r/gorogoroyasu/deeplearning-env
に起きました。
ご自由にご利用ください。
================追記 ここまで=================

ubuntu16 のdocker コンテナを準備し、
その中にpython が動く環境を構築した。

ubuntu:16.04 のdocker イメージをダウンロードし、コンテナを起動し、コンテナ内に入る。

sudo docker pull ubuntu:16.04
sudo docker run -d --name ubuntu16 ubuntu:16.04 /sbin/init
sudo docker exec -it ubuntu16 /bin/bash

コンテナ内で、下記のコマンドを実行

apt update
apt-get install gcc g++ make git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev curl libopenblas-dev vim wget -y

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc 
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

pyenv install 3.5.1
pyenv rehash
pyenv global 3.5.1
pip install --upgrade pip
pip install numpy
pip install matplotlib

その後、
find / -name matplotlibrc
を実行し、出てきたファイルの 38 行目付近にある、
backend : TKAgg

backend : Agg
に変更。

これで環境構築は終了。

なお、グラフの出力は、画像で行うことにした。
理由は、めんどくさそうだったから。
画像じゃ嫌だという方は、こちらを参考にしてください。

画像を出力するサンプルコードはこちら。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 1, 0.1)
y = x

plt.plot(x,y)
plt.savefig('plot.png')

plt.savefig('hoge.png') が、画像を出力している。

出力された画像は、こんな感じ。
とりあえず、静止画像だけでいいなら、これで十分だと思う。

plot.png

いい感じ。

===========2017/04/16 14:58 追記============
P.74 で、 PIL というモジュールを使っているので、
pip install Pillow
が必要みたいです。
なお、 PIL で画像を保存するには、
pil_img.save('hoge.png')
とすれば良いみたいです。
docker image は、未更新です。

========================================

8
10
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
8
10