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

人工智能47

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

目录

*
- 一、问题说明
-
+ 1. 网页显示 "无法访问此网站" 或显示空白
+ 2. 网页提示 No "XXX" Data was Found
+ 3. 提示 Use a Proxy or Pass --bind_all
+ 4. 提示 Module Not Found Error
- 二、解决方法
-
+ 1. 检查网址
+
* 1)检查主机名称是否包含中文
* 2)更换主机名称为 localhost
* 3)更换主机名称为 127.0.0.1
* 4)更换服务端口
+ 2. 检查路径
+
* 1)检查当前位置和文件位置是否正确
* 2)检测日志文件是否存在
* 3)检测文件是否存在有效数据
+ 3. 检查网络和浏览器
+
* 1)更换网络或断网
* 2)加入参数 --bind_all
* 3)更换或更新浏览器
+ 4. 检查软件和系统配置
+
* 1)缺少或未检测到库
* 2)库版本过新或过旧

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

一、问题说明

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

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

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

Tensorboard 无法打开网页 /不显示数据 / 命令行报错等解决办法集合
Chrome 浏览器 "无法访问网站" 效果图

; 2. 网页提示 No "XXX" Data was Found

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

Tensorboard 无法打开网页 /不显示数据 / 命令行报错等解决办法集合
网页提示 "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 的提示信息。

Tensorboard 无法打开网页 /不显示数据 / 命令行报错等解决办法集合
运行 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 为例,可以从 &#x8BA1;&#x7B97;&#x673A;&#x5C5E;&#x6027; 中的 &#x9AD8;&#x7EA7;&#x7CFB;&#x7EDF;&#x8BBE;&#x7F6E; 查看计算机全称并进行重命名。

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)检测日志文件是否存在

  • 方法:当路径中的文件太多,不确定是否包含日志文件时,可以通过系统命令行查找来检测日志文件的位置和名称。
    [En]

    method: when there are too many files in the path and are not sure whether the log file is included, you can detect the location and name of the log file by looking it up on the system command line.*

  • 示例:以 Linux 为例,采用 find DIRECTORY_PATH | grep tfevents 来检测日志存在情况。

3)检测文件是否存在有效数据

  • 方法:当找到日志文件存放的路径后,需要进一步检查其文件是否包含有效数据,若没有则会显示 No "XXX" Data was Found
  • 示例:以 Linux 为例,采用 tensorboard --inspect --logdir DIRECTORY_PATH 查看日志文件夹下或具体文件是否有内容。 另一种不一定准确但简单的方式——可根据日志文件大小进行判断(根据个人经验,日志文件若大约在 40 Bytes 则表明不存在有效数据)。

3. 检查网络和浏览器

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

1)更换网络或断网

  • 方法:更换网络或代理(用于远程服务器),或断开网络(本地执行)。
    [En]

    method: replace the network or agent (for remote servers), or disconnect the network (performed locally).*

2)加入参数 --bind_all

  • 方法:当找不到URL时,命令行会提示您使用代理或加入该方法进行网络探索。
    [En]

    method: when the URL cannot be found, the command line will prompt you to use the agent or join this method to explore the network.*

  • 示例:该方法需要在调用命令行时额外添加 --bind_all 的参数。

3)更换或更新浏览器

4. 检查软件和系统配置

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

1)缺少或未检测到库

  • 方法:检查是否确实缺少相应的报错库,如果是,安装相应的库,如果不是,则需要添加环境变量。
    [En]

    method: check whether the relevant error reporting library is really missing, if so, install the corresponding library, and if not, you need to add environment variables.*

  • 示例:以 Linux 为例,首先查找并更新库;若有相关文件则需要设置环境变量Windows 可以参考将 tensorboard.exe 所在路径加入环境变量的具体操作流程。

2)库版本过新或过旧

Original: https://blog.csdn.net/White_lies/article/details/124141102
Author: WhiteLie777
Title: Tensorboard 无法打开网页 /不显示数据 / 命令行报错等解决办法集合

相关文章
动态聚类法 人工智能

动态聚类法

目录 动态聚类法 一、K—均值算法(K-means) * 1.1 条件及约定 1.2 基本思想: 1.3 基于使聚类准则函数最小化 - 准则函数 聚类准则 1.4 算法步骤 1.5 讨 论 1.6 例...
语音识别ASR和NLP有什么区别? 人工智能

语音识别ASR和NLP有什么区别?

目录 背景 ASR是什么? NLP是什么? 最后 背景 语音识别中有两种技术分别是ASR和NLP,ASP是将语音识别转换成文本的技术,而NLP是自然语言,是理解和处理文本的过程,相当于解析器。 ASR...