こんにちは。
最近は機械学習分野に関わることが多いのですが、この分野ではJupyter Notebookが大活躍です。
私のマシン環境はMacBookPro1台、GPU付きのデスクトップPC1台です。
MacBookPro上でJupyterを使っても勿論いいんですが、やはりGPUマシンで機械学習を実行したい。
でも普段はMacBookPro使いしたい・・・
ということで、サーバ(デスクトップマシン)上でJupyterを走らせて、
クライアント(MacBookPro)のブラウザから閲覧、実行できる環境を構築したのでメモ。
Jupyter Notebookとは・・・こんな感じです。
セルにPythonのコードや、Markdownの記述を行うことができます。
Jupyter Notebookは便利なショートカットがたくさんあり、知っていると知らないとでは作業効率に雲泥の差が出ます。一度本なりネットなりで体系的に調べてみることをおすすめします。
インストール
サーバ側
インストールは・・・AnacondaでPython入れれば、もともと入っています。
そうでない人は、pipでインストール
1 |
pip install jupyter |
設定
サーバ側
クライアントから利用できるようにするための設定です。
sha1の鍵を取得
1 2 3 4 5 |
python >>> from notebook.auth import passwd >>> passwd() |
パスフレーズを2回入力。Jupyterにログインするときに必要になります。
’sha1:hogehoge’的な鍵が出力されます。
1 |
mkdir ~/.jupyter |
1 |
vi ~/.jupyter/jupyter_notebook_config.py |
1 2 3 4 5 6 7 8 |
c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.password = u’sha1:hogehoge' c.NotebookApp.open_browser = False c.NotebookApp.port = 9999 #接続ポート指定 |
参考:Jupyter notebookをリモートサーバで実行する
起動
サーバ側
1 |
jupyter notebook & |
マシン起動時に自動でデーモン実行させる設定
1 |
vi /etc/rc.local |
1 |
nohup jupyter notebook & |
接続
クライアント側
ブラウザから以下にアクセス
http://<サーバのIP>:9999
パスワードの入力を求められるので、SHA1の鍵を作ったときのパスを入れてログイン。
以上、お疲れ様です。