Tensorboard 无法打开网页 /不显示数据 / 命令行报错等解决办法集合

楼主这两天因为系统重新激活了导致各种软件都用不了,其中包括 Tensorboard 可视化显示的问题,因此搜集了一系列资料,希望能够帮助到有需要的朋友。该资料将持续更新,也欢迎各位大神留言提供更多解决办法!

Tensorboard 是一款方便可视化各种曲线、图片、图表等的函数库(尤其在深度学习方面),具体使用说明可以前往官方主页进行查看。另外,Pytorch 也移植了该函数库,具体使用方法可参考其官方手册


一、问题说明

这一部分主要展示 Tensorboard 出现的问题现象,可能同时出现多种问题,需要逐步排查。

1. 网页显示 “无法访问此网站” 或显示空白

  • 如下图所示,当使用 Tensorboard 命令并按照给出的链接输入网址后,网页显示 “无法访问此网站” 的提示信息,或可以加载出图标但页面显示空白。

网站提示无法访问

Chrome 浏览器 “无法访问网站” 效果图

2. 网页提示 No “XXX” Data was Found

  • 如下图所示,网页能够正常加载出 Tensorboard 的页面(配色以橙白为主,且侧面有选项),但页面中央提示 “数据没找到” 的信息。

No Scalar Data was Found

网页提示 “No Scalar Data was Found”

3. 提示 Use a Proxy or Pass --bind_all

  • 如下图所示,当命令行运行 Tensorboard 时,出现 Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all 的提示信息。

需要 proxy 或输入 --bind_all

运行 Tensorboard 命令提示网络问题

4. 提示 Module Not Found Error

  • 如下面代码块所示,当命令行运行 Tensorboard 时,出现 ModuleNotFoundError: No module named 'tensorflow.tensorboard' 的提示信息。
(tensorflow) USER_NAME@PC_NAME:~/tensorflow$ tensorboard --logdir=logs
Traceback (most recent call last):
  File "/home/USER_NAME/anaconda3/envs/tensorflow/bin/tensorboard", line 4, in <module>
    import tensorflow.tensorboard.tensorboard
ModuleNotFoundError: No module named 'tensorflow.tensorboard'
运行 Tensorboard 命令提示模块问题


二、解决方法

这一部分主要列举了各种解决办法,下述方法与上述问题并不呈现一一对应关系,尽可能都尝试进行排除。另外,类似电脑重启、Anaconda 重装或更新、系统文件修复或更新等常规解决办法就不在这赘述了。还有,在运行 Tensorboard 命令时请勿关闭命令行或按 Ctrl-C 退出。


1. 检查网址

该方法主要通过检查并更改 Tensorboard 提供的网址来解决,请按照下述步骤进行一一排查。

1)检查主机名称是否包含中文
  • 原因:由于 Tensorboard 一般默认取主机名称加端口号作为网址链接,因此当名称包括中文时会识别错误导致无法访问。
  • 方法:以 Windows 为例,可以从 计算机属性 中的 高级系统设置 查看计算机全称并进行重命名。
2)更换主机名称为 localhost
  • 方法:当无法更改主机名称或改后仍没有效果时,可将网址中含有主机名称的部分改为 localhost后边接的端口号不变),该表示可代替主机名
  • 示例:直接在浏览器的网址输入栏中,将原本为 http://COMPUTER-NAME:6006/ 的网址转为 http://localhost:6006/
3)更换主机名称为 127.0.0.1
  • 方法:当上述两个方法都没有效果时,可以采用同等替代的 IPV4 地址 127.0.0.1 来表示主机名称,可以用来调用主机服务
  • 示例:该方法需要在调用命令行时额外添加 --host=127.0.0.1 的参数,即可得到网址 http://127.0.0.1:6006/
4)更换服务端口
  • 原因:由于 Tensorboard 默认选择端口 6006 调用服务,但当端口发生冲突或无法被调用时,网址无法正常访问。
  • 方法:可在使用时手动设置其他端口来解决,在调用命令行时额外添加 --port=PORTS-NUMBER 的参数。
  • 示例:注意端口数取值范围在 0-65535 ,如设置为 8080 ,即可得到网址 http://localhost:8080/

2. 检查路径

该方法主要通过检查并更改 Tensorboard 日志文件及其路径来解决,请按照下述步骤进行一一排查。

1)检查当前位置和文件位置是否正确
  • 原因:命令行是从当前位置出发,搜索其参数 --logdir 的文件所在位置。若出现前者调用权限不足,或后者输入错误,或后者用了相对路径而前者目录错误等问题,则会导致命令无法正确执行。
  • 方法:尽可能在日志文件夹或上一级目录中打开命令行, --logdir 参数可以是文件名称(注意拼写不要出错)、或相对路径(如 ./ 表示当前目录下的所有文件)、或绝对路径(即从根目录开始到日志文件所在的文件夹的全部路径)。
  • 示例:以 Linux 为例,如用 --logdir=LOGS_DIRECTORY,或 --logdir="./LOGS_DIRECTORY",或 --logdir="/home/USER_NAME/LOGS_DIRECTORY"
  • 注意:路径和文件名不可包含中文字;若路径无误但仍不能显示,或许是路径书写问题
2)检测日志文件是否存在
  • 方法:当路径内文件过多,不确定是否包含日志文件,则可以通过系统命令行查找的方法检测日志文件的位置和名称。
  • 示例:以 Linux 为例,采用 find DIRECTORY_PATH | grep tfevents 来检测日志存在情况。
3)检测文件是否存在有效数据
  • 方法:当找到日志文件存放的路径后,需要进一步检查其文件是否包含有效数据,若没有则会显示 No "XXX" Data was Found
  • 示例:以 Linux 为例,采用 tensorboard --inspect --logdir DIRECTORY_PATH 查看日志文件夹下或具体文件是否有内容。另一种不一定准确但简单的方式——可根据日志文件大小进行判断(根据个人经验,日志文件若大约在 40 Bytes 则表明不存在有效数据)。

3. 检查网络和浏览器

该方法主要通过检查网络情况以及更改浏览器来解决,请按照下述步骤进行一一排查。

1)更换网络或断网
  • 方法:更换网络或代理(对于远程服务器),或断网操作(本地执行)。
2)加入参数 --bind_all
  • 方法:当无法查找网址时,命令行会提示采用代理或加入该方法用来探索网络。
  • 示例:该方法需要在调用命令行时额外添加 --bind_all 的参数。
3)更换或更新浏览器

4. 检查软件和系统配置

该方法主要通过检查库版本和系统环境配置来解决,请按照下述步骤进行一一排查。

1)缺少或未检测到库
2)库版本过新或过旧
  • 20
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WhiteLie777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值