[MaaStep]Azure VM上のTensorBoardやJupyter Notebookにローカルのブラウザからアクセスしてみた
2019-07-10
azblob://2022/11/11/eyecatch/2019-07-10-maastep-access-tensorboard-and-jupyternotebook-on-azure-vm-000.jpg

はじめに

機械学習した結果を見るのに便利なTensorBoardと簡単に機械学習するのに便利なJupyter NotebookをAzure VM上に設置し、ローカルのブラウザからアクセスしてみました。 今回はリモートデスクトップという手を知らなかったので、SSHポートフォワーディングを使いました。

TensorBoard編

Azure VM上では普通にTensorBoardを起動します。

tensorboard --logdir <TensorBoardのログまでのPath>

ポート番号を決めてないので、以下のように6006で出力されるはずです。

次にローカルのコマンドプロンプトで以下のコマンドを実行します。

ssh -L 9999:localhost:6006 -Nvmのユーザ名>@<vmのパブリックIPアドレス>

今回はhttp://localhost:9999につないでみました
ブラウザ上でhttp://localhost:9999にアクセスすると、以下のようにTensorBoardで機械学習の結果などを見ることができます。

Jupyter Notebook編

Azure VM上で以下のコマンドによりJupyter Notebookのconfigファイルを作成します。

jupyter notebook --generate-config

このときにどこにconfigファイルを保存したかが出力されるので、メモしておきます。
次にJupyter notebookのパスワードを設定します。
このとき設定したパスワードは実際にJupyter notebookにログインするときに使います。

jupyter notebook password

以下のようにどこへハッシュされたパスワードが保存されたかが表示されます。

このハッシュされたパスワードを用いてconfigファイルの設定を行っていきます。
まず、エディタでconfigファイルを開きます。

vim /root/.jupyter/jupyter_notebook_config.py

そして以下のように追記します。

c.NotebookApp.ip = '*'
c.NotebookApp.password = u'ハッシュされたパスワード'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 9999

次に以下のコマンドでJupyter notebookを起動します。

jupyter notebook

configファイルで9999ポートを設定したので、その旨の出力が表示されるはずです。

次に、ローカルのコマンドプロンプトで以下のコマンドを実行します。

ssh -L 8888:localhost:9999 -Nvmのユーザ名>@<vmのパブリックIPアドレス>

そして、設定したパスワード(ハッシュされてない方)を入力すると、以下のようにJupyter notebookにアクセスできます。

おわりに

今回はAzure VM上のTensorBoardとJupyter Notebookにローカルのブラウザからアクセスしました。
毎回、ブログのタイトルセンスがないので、なんとかしなきゃなぁと思いつつ、何もできてないのでオススメの本とか進研ゼミ的なものがあったら教えてください、編集長。

参考文献

http://miscellanea.hateblo.jp/entry/2017/07/17/231728 https://jupyter-notebook.readthedocs.io/en/latest/public_server.html http://backleaflet.blogspot.com/2018/01/jupyter-notebook-google-cloud-p…