遠端伺服器上Tensorboard的使用問題
阿新 • • 發佈:2019-01-08
場景
本機是windows系統,tensorflow程式執行在遠端伺服器,通常使用Xshell登陸伺服器操作。
問題
按照tf教程,訓練網路的summary存在設定的log_dir中,
檢查tensorboard安裝完好,找tf安裝目錄:
pip3 show tensorflow-gpu
tensorboard資料夾在tf同級目錄,其下有可執行的/main.py
(若未安裝可以 pip3 install tensorboard)
tensorboard --logdir=log_dir
(預設port是6006,若埠號被佔用可以 tensorboard --logdir=log_dir --port=xx)
複製連結到瀏覽器,一直顯示 “無法訪問此網站,找不到IP地址”
原因
找了好久問題,網上有說–logdir目錄層設定,有說–host改主機號試試,有說瀏覽器改輸入http://localhost:6006
,還有很多win下打不開網頁問題;
終於醒悟這是因為連結訪問的伺服器本地埠,而我卻在本機瀏覽器輸入網址,當然找不到目標ip。
如此一來再搜,很容易就找到辦法了。
解決
原理:建立ssh隧道,實現遠端埠到本機埠的轉發,遠端被偵聽埠為tensorboard預設的6006埠,本機埠任一非佔用的都可。
在我的Xshell開啟某個連線,屬性->ssh->隧道->新增,型別local,源主機填127.0.0.1(意思是本機),埠設定一個,比如12345,目標主機為伺服器本地,目標埠6006,如果被佔了可改為其他埠。
這時再在伺服器上輸入命令,這裡若–port改了埠號則上面設定也要改。
tensorboard --logdir=log_dir
複製連結,在本機開啟網頁 127.0.0.1:6006
成功訪問遠端的tensorboard,萬事大吉。