前言
相信大家很多人工智能的算法都是在服务器跑的,然后用tensorboard记录训练过程中的数据并做可视化,但是服务器端没办法直接进行可视化,每次把文件导到本地在本地运行tensorboard又太麻烦,所以尝试本地可视化服务器上运行的tensorboard。
一、运行tensorboard
这个应该都没啥问题,只要安装了tensorboard,在命令行运行如下代码即可:
tensorboard --logdir FileDir/log
后面加的是outfile存储的路径,即使是多层路径也无妨,tensorboard会找到路径下所有的outfile并可视化。然后你会得到如下结果:
只需要看最后一句话,说明运行成功,可视化结果在localhost的6006端口查看。这时候如果直接在本地查看结果必然就是localhost拒绝连接,因为本地的该端口并没有服务而是服务器的6006。
二、建立ssh隧道,进行转发
因此,解决办法也很直接,就是把利用ssh隧道把服务器端的6006端口的可视化结果转发到本地,再通过本地浏览器去察看。
以
为例,点击文件,选择当前会话属性(即当前连接了服务器的这个会话)。然后在ssh目录下选择隧道,点击添加:
主机地址不用改就localhost,将源主机的侦听端口设置为6006,目标端口也设置为6006,说明可以自定义,不妨写上tensorboard。然后点击确定就大功告成。
总结
本地可视化tensorboard是一个常常会遇见的小问题,特此记录作为备忘录使用。