LoginSignup
1
2

More than 1 year has passed since last update.

EC2からPytorch TensorBoardを使用する

Posted at

やりたいこと

EC2インスタンス上でpytorchでモデル構築する際、実験結果等をtensorboardに保存しWebUIで可視化する

pytorchでtensorboardを利用する方法はpytorch tensorboard document
に記載されているのでこのリンクを参照にすればよいが、EC2上でtensorboardのwebuiを立てる場合、

tensorboard --logdir=runs

だけではブラウザから見ることはできない. そこでEC2からtesorboardのサーバーを立ててブラウザでアクセスする方法をメモ.

必要なこと

EC2からWebUIをたててブラウザで見るために追加で必要なことは2つ

  1. hostの設定.
  2. portの解放

1. hostの設定

tensorboard -h

と実行すると、以下のようなオプションが確認できる

--host ADDR           What host to listen to (default: localhost). To serve to the
                        entire local network on both IPv4 and IPv6, see `--bind_all`,
                        with which this option is mutually exclusive.

これを設定すれば良い。EC2からjupyterを立てる時のよう0.0.0.0とかに設定すれば良いので

tensorboard --logdir=runs --host=0.0.0.0

とすれば良い.

2. portの解放

--host=0.0.0.0だけではブラウザでhttp://パブリックIP:6006と打ってもWebUIが表示されない.

これはEC2が(デフォルトでは)6006を解放していないためである。

EC2のポートを解放するには、

awsから

EC2 > インスタンス > 該当のインスタンスを選択 > セキュリティ > インバウンドルール

インバウンドルール.png

でインバウンドルール(EC2へのアクセスを制御する設定)を確認する.
ここに6006が設定されていなければ、6006にアクセスできない.

設定方法は、EC2に紐づいているセキュリティルールを選択してインバウンドルールの編集から、

TCP 6006

を追加する.

インバウンドルールを編集.png

ソースの部分が0.0.0.0/0となっていると誰でも接続できてしまうので、他の人に接続されたくない場合はソースのカスタムの欄を推してそこからマイIPまたは自分のIPを選択すれば自分のPC以外からの接続を拒否できる.

上記の手順を行うと、

http://パブリックIP:6006でtensorboardに接続できる

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2