DockerでJupyterLabを起動してグラフを表示する
- 2019.05.26
- 機械学習
久々に機械学習、ディープラーニングの勉強を再開しようと思い、環境を構築したのでメモ。自分はローカルの環境を汚したくなかったので、Docker上でanaconda & JupyterLabを動かせるようにしました。
JupyterLabを起動
docker run --rm --name jupyter -d -p 8888:8888 \
-v /Users/hisamitsuryouhei/PycharmProjects/deep-learning:/deep-learning \
-w /deep-learning continuumio/anaconda3 \
jupyter-lab --no-browser --port=8888 --ip=0.0.0.0 --allow-root --NotebookApp.token=''
anaconda3のイメージがDockerHub上にあるので、それを使います。”/Users/hisamitsuryouhei/PycharmProjects/deep-learning”の箇所は、各自自分のワーキングディレクトリを記述してください。
これで、http://localhost:8888にアクセスするとJupyterLabの画面が表示されます。
Docker起動時に、–NotebookApp.token=”をつけなかった場合、起動時に発行されたトークンをhttp://localhost:8888?token=’トークン’のように指定する必要があります。が、今回はローカル環境なのでトークン不要の設定にしました。
グラフを表示する
以下のコードを書いて、ニューラルネットワークの活性化関数としてよく使われるシグモイド関数のグラフをプロットしようとしました。
□エントリーポイント
import numpy as np
import matplotlib.pylab as plt
import functions # 外部ファイル読み込み
x = np.arange(-5.0, 5.0, 0.1)
y = functions.sigmoid(x) # 外部ファイルの関数使用
plt.plot(x,y)
plt.ylim(-0.1, 1.1)
plt.show()
□functions.py
import numpy as np
# シグモイド関数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
が、上記のコードを記述して実行すると、
<Figure size 640×480 with 1 Axes>
と出るだけで、グラフは表示されません。調べてみると、以下の記事が見つかりました。
Jupyterでmatplotlibを使う場合は、
%matplotlib inline
の記述が必要とのこと。エントリーポイントのimport文の下に追記すると、下記の通りグラフが表示されました。
-
前の記事
Google HomeとeRemoteを使って家電を音声操作する(前編) 2019.01.06
-
次の記事
Tensorflow.jsで手書き文字認識 2019.06.30