关于启动Tensorboard,在浏览器中打开可视化界面,会出现No dashboards are active for the current data set.错误,大概意思就是无法从事件文件中加载出任何数据。
关于这个问题,网上所有的答案我总结一下,无非以下几点:
-
1. 路径含有中文:
tensorboard --logdir=路径中含有中文可能会导致这个问题,解决方法也比较简单,将中文替换成英文。
-
2. 路径错误:
tensorboard --logdir=路径,这个路径不用带上引号,且该路径下必须包含事件文件。
如果不放心自己是不是路径问题,在tensorboard可视化网页界面的scalars模块的左下角有个路径,这个路径按道理应是启动tensorboard时指定的路径,复制该路径到文件夹中搜索,看是否成功定位到事件文件的上一级目录。
-
3.启动tensorboard语句是否正确:
我使用的tensorboard版本为2.0.1,使用的语句为:tensorboard --logdir=E:\asa\20201028;E:\asa\20201028为事件文件的上一级目录,可以是绝对路径,也可以是相对路径,都不带引号。
有些版本的tensorboard需要将=改为“ ”,即:tensorboard --logdir ”E:\asa\20201028“,具体我没有去研究。
-
4.使用其他浏览器打开网页:
使用360浏览器、火狐浏览器等都不能正常打开,只可以使用Chrome打开。
正文:
若上面这些方法都无解解决问题,那么你很可能遇到和我一样的问题,因为这个问题,我折腾了一天,对你没听错就是一天。我首先介绍下,我遇到了什么问题:我尝试了很多方法,甚至换了不同的tensorboard版本,依然无法解决。当我准备放弃的时候,我突然发现下面这个Data location路径一直都是logs,不管我在启动tensorboard指定怎样的路径。
这就很奇怪啦,我明明指定了路径,为啥一直都是logs呢,为此我去仔细检查我anconda创建的虚拟环境,查看tensorboard.exe文件配置的环境变量是否为另一个虚拟环境,答案是都没问题。
最后,猜想是不是这个端口问题,为此我换了一个8008端口,奇迹出现啦,那个熟悉的页面也出来啦;这时我恍然大悟,肯定是默认的6006端口被占用啦,这就很操蛋。
具体命令为:
tensorboard --logdir=E:\asa\20201028 --host=127.0.0.1 --port=8008
不死心的我,到底还要去查查,我的6006端口被啥给占用啦。
1.Win+R在运行窗口输入cmd调出命令行窗口(也可以搜索之后以管理员模式运行)
2.查看所有被打开的端口列表:netstat -ano
3.查看6006端口占用情况:netstat -ano | findstr "6006"