当前位置:   article > 正文

解决访问远程服务器tensorboard无法访问的问题_tensorboard 远程访问 拒绝

tensorboard 远程访问 拒绝

记录一次学习深度学习产生的问题

项目场景:

在服务器上面跑YOLOV5-5.0,想要通过内置的tensorbord函数来查看训练的过程


问题描述

使用命令

tensorboard --logdir=runs/train
  • 1

查看训练的过程,会弹出

无法访问

但是这个是服务器上面的 ip,是本地访问,我是要远程访问服务器的这个地址端口

因此,我访问 http://(远程服务器的ip地址):6006/

但是无法访问到服务器上面的端口号,访问就显示无法访问

在这里插入图片描述

网上也查询了很多,有的说想要访问远程服务器上面的tensorbord,得用隧道,在Xsehll上面对这个连接加一个隧道的设置

我也试过了,没有用,还是无法访问,只不过结果变成了我要访问的地址已经转移了

(这里就不放图片了,反正就是不行)

我也曾以为是不是端口的问题,防火墙打开了,没有放行

但是经过查询,发现远程服务器的防火墙是关闭的,而且网上也有这种说法,就是防火墙关了,但是端口还是访问不了。

这个方法我没有试过(但我估计不行

解决方法就是把防火墙重启:

systemctl start firewalld
  • 1

开放端口:

firewall-cmd --zone=public --add-port=6006/tcp --permanent
  • 1

重新加载配置:

firewall-cmd --reload
  • 1

关闭防火墙

systemctl stop firewalld
  • 1

查看防火墙状态

systemctl status firewalld
  • 1

原因分析:

服务器上面的tensorbord确实是启动了,但是它只监听了本地的请求,像我这种在远程上面去访问的,它是会拒绝的

所以就两种方法,一种就是使用Nginx反向代理,另一种就是使用命令的时候加参数

这里使用的是第二种


解决方案:

方法很简单,在原来的命令基础上加一个参数就可以了

tensorboard --logdir=runs/train --bind_all
  • 1

使用这个命令后,就可以在本地电脑上面通过访问 http://(远程服务器的ip地址):6006/来查看训练结果了

tips

tensorboard --logdir=runs/train 
  • 1

这个命令默认是使用6006端口号,如果你想自定义的话或者这个端口号被使用了,加一个参数就可以了,比如想使用6999端口号

tensorboard --logdir=runs/train --port 6999 (--bind_all)
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/664804
推荐阅读
相关标签
  

闽ICP备14008679号