admin管理员组文章数量:1635997
楼主这两天因为系统重新激活了导致各种软件都用不了,其中包括 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
命令并按照给出的链接输入网址后,网页显示 “无法访问此网站” 的提示信息,或可以加载出图标但页面显示空白。
2. 网页提示 No “XXX” Data was Found
- 如下图所示,网页能够正常加载出
Tensorboard
的页面(配色以橙白为主,且侧面有选项),但页面中央提示 “数据没找到” 的信息。
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
的提示信息。
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'
二、解决方法
这一部分主要列举了各种解决办法,下述方法与上述问题并不呈现一一对应关系,尽可能都尝试进行排除。另外,类似电脑重启、
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)更换或更新浏览器
- 原因:浏览器类型或版本不支持,导致无法正常显示。
- 方法:优先采用
Google Chrome
浏览器(因为Tensorboard
是Google
团队研发的),注意版本较低可能也无法显示;还可以尝试更换IE
,Edge
,FireFox
等(注意 Ubuntu 自带浏览器可能无法显示)。
4. 检查软件和系统配置
该方法主要通过检查库版本和系统环境配置来解决,请按照下述步骤进行一一排查。
1)缺少或未检测到库
- 方法:检查是否真的缺少相关报错库,若是则安装相应的库,若不是则需要添加环境变量。
- 示例:以
Linux
为例,首先查找并更新库;若有相关文件则需要设置环境变量,Windows
可以参考将 tensorboard.exe 所在路径加入环境变量的具体操作流程。
2)库版本过新或过旧
- 原因:当
Tensorboard
版本过新或过旧时,会导致其中依赖的其他库与其发生冲突。 - 方法:卸载当前版本并根据情况安装合适的版本,如对 Tensorboard 版本降级,或找到匹配 Tensorflow 的相应 Tensorboard 版本以及命令格式。
版权声明:本文标题:Tensorboard 无法打开网页 不显示数据命令行报错等解决办法集合 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729220041a1190803.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论