2018年2月17日土曜日

Raspberry PiをJupyter Notebookサーバにする

Jupyter NotebookはPythonのコードなんかを実行結果を確認しながら動作させるのに便利なウェブアプリ。ローカルPC上でWEBサーバを動かして、そこにブラウザでアクセスする仕組みになっている。自分のPCで使いたいだけならAnacondaをインストールするのが簡単だけど、複数のPCで使いたいならサーバを立てて共有すれば環境構築は1回で済む。Jupyter NotebookはデフォルトではローカルPCからしかアクセスできないが、設定を変更すると他のPCからもアクセスして使用できるので、Raspberry PiでJupyter Notebookサーバを立ててみる。


環境





Jupyter Notebookのインストール


pipでインストールできる。



Jupyter Notebookの設定


まずは設定ファイルを生成する。


続いて、Jupyter Notebookの使用をパスワード制限をするためにパスワードのハッシュを生成する。sha1~がハッシュなので、これをどこかにコピーしておく。


httpsでアクセスしたい場合は証明書を用意しておく。ここではオレオレ証明書を作成する。以下のコマンドで秘密鍵(private_key.pem)と証明書(myserver.crt)を作成。


Jupyter Notebookの作業用ディレクトリを作成しておく。


設定ファイルを編集。

※パス指定が間違っていたので修正(2019.8.6)

編集内容は以下の通り。



Jupyter Notebookを使用する


以下のコマンドでJupyter Notebookが起動する。


他のPCからブラウザでhttps://<Raspberry PiのIPアドレス>:8888/にアクセスすると、以下のような画面が表示される。ハッシュ生成時に設定したパスワードでログインできる。

試しにMatplotlibでグラフを表示してみる。ログインしたらNew>Python3で新規のNotebookを作成する。

以下のような画面になるのでIn [] :にPython3コードを入力する。

以下のコードは、正規分布に従う乱数のヒストグラムを表示するPython3コード。
import numpy as np

# Jupyter Notebookでmatplotlibのグラフを表示するために必要
%matplotlib inline

import matplotlib.pyplot as plt

# 平均0、標準偏差1.0の正規分布に従う乱数を生成
x = np.random.normal(0, 1.0, 1000)

# ヒストグラムを表示
plt.hist(x, bins=20)
plt.show()

上記コードを入力してRunボタンを押すと、ヒストグラムが表示される。

0 件のコメント:

コメントを投稿