2017-06-29 116 views
0

我在Azure上的Ubuntu 16.04虚拟机上进行了TensorFlow模型培训。突然间,TensorBoard进程无法再从外面到达。网络安全组应该被正确配置(见图),正如我所说,它过去一直工作到今天晚上。我没有改变机器上的任何东西。我可以做什么检查?任何提示?谢谢!在Azure虚拟机上无法访问TensorBoard

NSG

+0

我假设你确认你使用的公共IP仍然分配给虚拟机? – CtrlDot

+0

我通过SSH进行日志记录,因此VM本身可以访问。但是,我从来没有使用过公共IP,而是'[name] - [resource] .eastus.cloudapp.azure.com' – petrux

+0

在你的VM中,'netstat -ant | grep 6006'。该端口正在监听? –

回答

2

您应该使用netstat -ant|grep 6006(TensorFlow默认情况下监听6006)。你应该得到以下结果。

[email protected]:~$ netstat -ant|grep 6006 
tcp  0  0 0.0.0.0:6006   0.0.0.0:*    LISTEN  

根据你的描述,我觉得这个端口不在监听。当您启动tensorflow服务时,如果您只使用tensorboard --logdir=run1:/tmp/tensorflow/。当ssh会话过期或关闭时,服务将停止,您无法连接tensoforflow服务。您可以使用以下命令启动该服务。即使您的ssh会话已过期或已关闭,您也可以访问您的服务。

nohup tensorboard --logdir=run1:/tmp/tensorflow/ & 

人的nohup

的nohup - 运行命令不被挂起,以输出到一个非TTY

&到命令行来在后台运行:

替代nohup,您可以在内获得运行张量板的类似结果210会话:

:~$ screen -S tensorboard-screen 
:~$ tensorboard --logdir=run1:/tmp/tensorflow/ 

然后键入Ctrl + a, d来分离屏幕并返回主外壳。当你退出ssh会话时,屏幕将会运行。重新登录后,只需输入screen -r tensroboard-screen恢复屏幕会话。

+0

我正在屏幕会话中运行tensorboard,此外,我认为它是一样的,对吧? – petrux

+0

在屏幕会话中运行张量板时,关闭会话或会话过期时,无法访问张量板。 –

+0

我知道,但当我尝试访问它时,该过程仍在运行。而且,ssh登录到远程机器并在端口6006上尝​​试使用'wget'可以很好地工作。 – petrux

相关问题