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

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

项目场景:

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


问题描述

使用命令

tensorboard --logdir=runs/train

查看训练的过程,会弹出

无法访问

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

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

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

在这里插入图片描述

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

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

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

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

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

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

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

systemctl start firewalld

开放端口:

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

重新加载配置:

firewall-cmd --reload

关闭防火墙:

systemctl stop firewalld

查看防火墙状态

systemctl status firewalld

原因分析:

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

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

这里使用的是第二种


解决方案:

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

tensorboard --logdir=runs/train --bind_all

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

tips

tensorboard --logdir=runs/train 

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

tensorboard --logdir=runs/train --port 6999 (--bind_all)
  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值