Tensorboard 显示问题

tf显示的整体流程
第一步,用

import tensorflow as tf
# 第一步:清除default graph 和不断增加的节点
tf.reset_default_graph()

#第二步:设置logdir路径,计算图信息保存在这个日志里
logdir = 'D:/log'

# 第三步,定义简单的计算图
with tf.variable_scope("try"):
    w = tf.Variable(tf.random_normal([12, 1], stddev=0.01), name="W")
    b = tf.Variable(1.0, name='b')
    def model(x, w, B):
        return tf.matmul(x, w)+b
    pred = model(x,w,b)
with tf.name_scope('LossFunction'):
    loss_function = tf.reduce_mean(tf.pow(y-pred,2))
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_function)

###第4步:画图形
###画图形
image_shape_input = tf.reshape(x,[-1,28,28,1])#输入为x,28*28维的黑白(1)图,输入多少不确定
tf.summary.image('input',image_shape_input,10)#该函数输入四维数据,10表示最多显示10个
###画直方图
tf.summary.histogram('pred',pred)
###将loss以标量显示
tf.summary.scalar('loss',loss_function) #记录损失值loss

###第5步:合并所有summary
merged = tf.summary.merge_all() # 合并所有需要记录的摘要日志文件
#生成一个写日志的writer,并将当前的Tensorflow计算图写入日志
writer = tf.summary.FileWriter(logdir,sess.graph)
# 只画图,用这个,运行tf并画loss,用下面注释中的代码
writer = tf.summary.FileWriter(logdir,tf.get_default_graph())
'''
with tf.Session() as sess:
    init = tf.global_variables_initializer()   #初始化变量
    sess.run(init)  #初始化变量 
    for epoch in range(50):
        for xs, ys in zip(x_data, y_data):
            xs = xs.reshape(1, 12)
            ys = ys.reshape(1, 1)
       ### 第6步:生成summary,并写入文件
        _,summary_str, loss = sess.run([optimizer,merged, loss_function], feed_dict={x: xs, y: ys})
        y_pre = sess.run(pred,feed_dict={x:xs})
        writer.add_summary(summary_str, epoch) #加到摘要信息里,一共50次
    writer.close()
'''

定义好代码之后,在logdir的文件夹下打开终端,输入

tensorboard --logdir=./ 

如果报错端口被占用,可以更改端口号:

tensorboard --logdir=./   --port=8008

然后,终端会显示如下信息:

TensorBoard 0.4.0rc3 at http://amax2:8008 (Press CTRL+C to quit)

复制链接到火狐,谷歌浏览器打开即可。
如果想画loss图,代码执行代码中批量注释掉的代码
当在windows使用时,出错’tensorboard’不是内部或外部命令,也不是可运行的程序或批处理文件的解决方法

第一步:C:\Users\nss\PycharmProjects\test\venv\Scripts

在python的tensorflow库下打开cmd,输入
activate tensorflow

第二步,转到图所在的文件夹下
在这里插入图片描述第三步:运行tensorflow
在这里插入图片描述
第四步:复制地址到谷歌或者火狐浏览器打开


要在TensorBoard显示图片,可以使用SummaryWriter.add_image()方法。这个方法接受三个参数:tag(标签),image_data(图像数据)和global_step(全局步数)。其中,tag是一个用于标识图像的字符串,image_data是一个代表图像的张量或数组,global_step是一个整数,用于标识训练的全局步数。 在示例代码中,使用了PIL库将图像加载为PIL对象,然后将其转换为NumPy数组。接着,使用SummaryWriter.add_image()将图像数据添加到TensorBoard的日志中。需要注意的是,传递给add_image()方法的图像数据需要满足HWC(Height-Width-Channel)的数据格式。 为了能够在TensorBoard显示图片,建议使用TensorFlow作为后端。由于Keras隐藏了TensorFlow的图构建方法,你可以通过在Keras模型中使用Callbacks来实现在TensorBoard显示图片。具体做法是在Callbacks中使用TensorBoard的方法,例如使用TensorBoard的add_image()方法将图像数据添加到TensorBoard的日志中。 总结起来,要在TensorBoard显示图片,可以使用SummaryWriter.add_image()方法将图像数据添加到TensorBoard的日志中,并使用TensorFlow作为后端来创建Callbacks并将图像数据添加到TensorBoard。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [利用tensorboard来展示图片的逐步展示](https://blog.csdn.net/weixin_45193103/article/details/123595351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Keras使用tensorboard显示训练过程的实例](https://download.csdn.net/download/weixin_38682790/14851353)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值