-
前言
今天学习TensorFlow提供的TensorBoard可视化工具,折腾了半天,毫不夸张。
首先我先建立了一个项目,实现程序可视化,前面都还挺顺利
项目代码如下:
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
def graph_demo():
a = tf.constant(4)
b = tf.constant(5)
c = a + b
with tf.Session() as sess:
c_value = sess.run(c)
print("c_value:\n",c_value)
tf.summary.FileWriter("./tmp/summary",graph=sess.graph)
if __name__ == "__main__":
graph_demo()
运行程序后,确实在当前目录下建了两个文件夹,在文件夹下生成了events文件
接下来就是启动TensorBoard了,由于我使用的是anaconde环境,需要在当前虚拟环境打开终端,如果在电脑本地终端会报错,如下:
在anaconde中打开当前环境终端:
移动到到指定文件夹之后,在终端中通过命令启动tensorboard,命令如下:
tensorboard --logdir="./tmp/summary"
直接报错:
(tensorflow36) C:\Users\Administrator\Desktop\learning\test>tensorboard --logdir="./tmp/summary"
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\tensorflow36\Scripts\tensorboard-script.py", line 6, in <module>
from tensorboard.main import run_main
File "C:\ProgramData\Anaconda3\envs\tensorflow36\lib\site-packages\tensorboard\main.py", line 40, in <module>
from tensorboard import default
File "C:\ProgramData\Anaconda3\envs\tensorflow36\lib\site-packages\tensorboard\default.py", line 39, in <module>
from tensorboard.plugins.beholder import beholder_plugin_loader
File "C:\ProgramData\Anaconda3\envs\tensorflow36\lib\site-packages\tensorboard\plugins\beholder\__init__.py", line 22, in <module>
from tensorboard.plugins.beholder.beholder import Beholder
File "C:\ProgramData\Anaconda3\envs\tensorflow36\lib\site-packages\tensorboard\plugins\beholder\beholder.py", line 199, in <module>
class BeholderHook(tf.estimator.SessionRunHook):
AttributeError: module 'tensorflow.python.estimator.api.estimator' has no attribute 'SessionRunHook'
百度搜索最后一条错误信息,得知可能是由于TensorFlow版本与TensorBoard版本不一致导致的,pip list 查看版本信息:
于是打算卸载tensorboard当前版本,安装与tensorflow一致的版本,网上教程都是通过命令方式卸载,摸索半天也没弄好,无意间看到 anaconde中可以直接替换,哈哈哈,于是直接替换了
pip list查看版本信息,发现一致了,nice
然后在终端输入命令:tensorboard --logdir="./tmp/summary" 尝试打开tensorboard
看到这个时觉得成功了,然后打开浏览器输入127.0.0.1:6006,结果如图:
一脸懵逼,
然后就开始疯狂百度,
直到看到一位大佬的博客 https://www.cnblogs.com/rulasann/p/9442420.html
开始按大佬的步骤一步一步来:
检查:分别ping一下127.0.0.1和localhost
发现ping localhos,不匹配
在浏览器中打开http://127.0.0.1,出现还是无法访问此网站
于是重装IIS,耐心等待,注意,要全部勾上,展开了一个一个勾,显示黑色小方块表示没有勾全
可是。。。。安装失败
我???嗯.....百度了好久都没找到相同错误嘛的解决方案,就在不知所措时,突然想到是不是系统有问题?因为自己电脑重装过系统,不是原装的,一直都没更新啥的,大概有一年没更新了,于是想着更新试试,便开始更新系统
又是以番等待,看着c盘越来越小,而且还不知道装了之后能不能成功,越来越烦躁,
系统更新好之后,立马重装IIS,这次一次成功!虽然等的时间有点长,还是挺开心的
想这IIS装好后应该可以访问127.0.0.1了,没错,出现了那个页面,啧啧啧,不简单啊
于是去终端重新尝试开启TensorBoard,
但是,当访问127.0.0.1:6006时,又出现了那个无法访问的页面,,,要崩溃了
去C:\Windows\System32\drivers\etc看hosts文件,发现没有大佬说的那两行,加上之后,还是不行
又照这这篇博客修改优先级
https://blog.csdn.net/ambertian/article/details/70238020
还是不行,
继续百度,终于,找到了一篇博客解决了我的问题
https://blog.csdn.net/it_xiao_bai/article/details/82842205
修改终端命令如下,在最后加上 --host=127.0.0.1
tensorboard --logdir="./tmp/summary" --host=127.0.0.1
浏览器输入http://127.0.0.1:6006,呼,终于出来了,感谢各位大佬的博客指导