大学のサーバなどで計算した後の結果を確認する時に、
わざわざ計算結果のデータをローカルに持ってくるのは面倒だったりします。
リモートの結果を表示できないかと言うことで、SSHポートフォワードを使って
ローカルでも表示できるようにします。
tensorflowダウンロード
$ git clone https://github.com/tensorflow/tensorflow $ cd tensorflow
使用しているtensorflowは1.15なのでバージョンを合わせます
$ git branch -a $ git checkout -b r1.15 origin/r1.15
これで1.15のブランチになります。以下のコマンドで確認。
$ git branch master * r1.15
mnist
mnistを計算してみます
$ cd /tensorflow/examples/tutorials/mnist $ mkdir logs $ python fully_connected_feed.py --log_dir=logs
logs以下にファイルが作成されていることを確認します
$ ls logs checkpoint model.ckpt-1999.meta events.out.tfevents.1573779801.vpcc-101 model.ckpt-999.data-00000-of-00001 model.ckpt-1999.data-00000-of-00001 model.ckpt-999.index model.ckpt-1999.index model.ckpt-999.meta
ポートフォワード
サーバが外部公開されていないなど、ローカルPCから直接ブラウザでアクセスできないときのために、SSH
ポートフォワードを使用します。
こちらを参考に、
macから繋ぐためにはターミナルから以下のコマンドを打ち込みます。
$ ssh -L 8081:remotehost:10010 remotehost -lusername
これは、リモートサーバの10010ポートをローカルの8081ポートで見れるようにするためのものだと思えばいいです。
まずは、動くかどうか確認です。
リモートでpython簡易サーバを立ち上げます
$ python -m http.server 10010
ブラウザでhttp://localhost:8081にアクセスし確認します。
ディレクトリリストが見えることがわかります。
Ctrl+Cでシャットダウンします
tensorboardによる可視化
先ほど計算した、mnistの計算結果を表示してみます。
$ tensorboard --logdir=logs --port 10010 TensorBoard 1.15.0 at http://remotehost:10010/ (Press CTRL+C to quit)
ブラウザでhttp://localhost:8081にアクセスします
表示されました。