Tensorflow的可视化工具Tensorboard的初步使用详解

我来为你讲解“Tensorflow的可视化工具Tensorboard的初步使用详解”的完整攻略。

什么是Tensorboard

Tensorboard是Tensorflow的一个可视化工具,用于对训练过程进行监控和展示,并且能够帮助用户理解模型的结构和性能情况。Tensorboard支持许多功能,包括显示训练曲线、可视化模型结构、显示图像、展示嵌入向量等。

Tensorboard的使用步骤

步骤一:基本配置

在你的Tensorflow项目中,你需要添加下列代码:

# 导入TensorFlow
import tensorflow as tf

# 选择一个目录用于TensorBoard结果的存储。这里将使用当前目录下的“logs”目录。
log_dir = "./logs"
# 定义一个TensorFlow会话session。
sess = tf.Session()
# 将TensorBoard结果保存成文件。
writer = tf.summary.FileWriter(log_dir, sess.graph)

步骤二:添加监控信息

在你的Tensorflow项目训练完成后,你需要添加下列代码生成监控信息:

# 将训练过程中的相关信息汇总成一个TensorFlow tabular数据,方便观察
merged_summary = tf.summary.merge_all()
# 运行TensorFlow的操作,生成监控信息
summary = sess.run(merged_summary, feed_dict={...})
# 写入TensorBoard的文件目录
writer.add_summary(summary, epoch)

其中,feed_dict参数是一个字典类型的变量,包含了你的Tensorflow模型中所有占位符(variables)的状态。

步骤三:运行TensorBoard

在步骤一中指定的目录下,你需要在终端窗口输入以下命令:

tensorboard --logdir=./logs

这个命令将启动TensorBoard应用程序,可以访问 http://127.0.0.1:6006 查看监控信息。

示范例子1:监控训练曲线

# 导入TensorFlow
import tensorflow as tf

# 定义一个TensorFlow会话session。
sess = tf.Session()

# 初始化变量。
x = tf.placeholder(tf.float32, shape=[None, 1], name="x")
y = tf.placeholder(tf.float32, shape=[None, 1], name="y")
linear_model = tf.layers.Dense(units=1, name="linear_model")
y_pred = linear_model(x)

# 定义损失函数和优化器。
loss = tf.losses.mean_squared_error(labels=y, predictions=y_pred)
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)

# 定义一个随机数生成器,用于生成模拟数据集。
import numpy as np
np.random.seed(0)
x_train = np.linspace(0, 10, 100)[:, np.newaxis]
y_train = np.sin(x_train) + 0.1 * np.random.randn(100, 1)

# 创建TensorBoard文件的输出目录。
log_dir = "./logs/linear_model/"

# 创建TensorFlow变量初始化和TensorBoard写入操作。
init = tf.global_variables_initializer()
writer = tf.summary.FileWriter(log_dir, sess.graph)

# 训练模型。
sess.run(init)
for epoch in range(5000):
    _, summary = sess.run([train_op, merged_summary], feed_dict={x: x_train, y: y_train})
    writer.add_summary(summary, epoch)

示范例子2:展示模型结构

# 导入TensorFlow
import tensorflow as tf

# 定义一个TensorFlow会话session。
sess = tf.Session()

# 导入Inception-v3网络结构。
from tensorflow.contrib.slim.nets import inception

# 定义一个空的输入向量,用于展示模型结构。
input_tensor = tf.placeholder(shape=[None, 299, 299, 3], dtype=tf.float32)

# 定义Inception-v3网络模型。
with tf.contrib.slim.arg_scope(inception.inception_v3_arg_scope()):
    logits, end_points = inception.inception_v3(inputs=input_tensor, num_classes=1001)

# 创建TensorBoard文件的输出目录。
log_dir = "./logs/inception_v3/"

# 创建TensorFlow变量初始化和TensorBoard写入操作。
init = tf.global_variables_initializer()
writer = tf.summary.FileWriter(log_dir, sess.graph)

# 初始化模型变量。
sess.run(init)

# 保存模型的摘要信息,添加到TensorBoard中。
summary_writer = tf.summary.FileWriter(log_dir)
summary_writer.add_graph(sess.graph)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Tensorflow的可视化工具Tensorboard的初步使用详解 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • tensorflow 1.0 学习:池化层(pooling)和全连接层(dense)

    池化层定义在 tensorflow/python/layers/pooling.py. 有最大值池化和均值池化。 1、tf.layers.max_pooling2d max_pooling2d( inputs, pool_size, strides, padding=’valid’, data_format=’channels_last’, name=Non…

    tensorflow 2023年4月8日
    00
  • Ubuntu系统下在PyCharm里用virtualenv集成TensorFlow

        我的系统环境      Ubuntu 18.04     Python3.6     PyCharm 2018.3.2 community(免费版)     Java 1.8       安装前准备         由于众所周知的原因,安装中需要下载大量包,尽量处在科学上网的情况下安装。如果期间有任何问题或者报错,不属于本文想要阐述的范围,自行goo…

    2023年4月8日
    00
  • TensorFlow的图像NCHW与NHWC

        import tensorflow as tf x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] with tf.Session() as sess: a = tf.reshape(x, [2, 2, 3]) a = sess.run(a) print(a) print(“——————–…

    2023年4月8日
    00
  • TensorFlow学习笔记——cmd调用方法

    由于tensorflow支持最高的python的版本和anaconda自动配置的python最新版本并不兼容,故直接用常规的在终端键入“python”会出现问题。经过尝试对激活环境,调用的过程暂总结如下: 其中之一的方法如图:    大体语句思路可以总结为两部分:①激活tensorflow环境 ②找到所要执行文件的目录(两部分不分先后) 之后便可以开始执行模…

    2023年4月5日
    00
  • tensorflow_hub预训练模型

    武神教的这个预训练模型,感觉比word2vec效果好很多~只需要分词,不需要进行词条化处理总评:方便,好用,在线加载需要时间 步骤 文本预处理(去非汉字符号,jieba分词,停用词酌情处理) 加载预训练模型 可以加上attention这样的机制等 给一个简单的栗子,完整代码等这个项目开源一起给链接这里直接给模型的栗子 import tensorflow as…

    2023年4月6日
    00
  • go版tensorflow安装教程详解

    Go版TensorFlow安装教程详解 TensorFlow是一个非常流行的机器学习框架,它支持多种编程语言,包括Python、C++、Java和Go等。本攻略将介绍如何在Go语言中安装和使用TensorFlow,并提供两个示例。 步骤1:安装Go语言 在安装TensorFlow之前,我们需要先安装Go语言。可以从官方网站(https://golang.or…

    tensorflow 2023年5月15日
    00
  • 11 tensorflow在tf.while_loop循环(非一般循环)中使用操纵变量该怎么做

    xiaojie=1 i=tf.constant(0,dtype=tf.int32) batch_len=tf.constant(10,dtype=tf.int32) loop_cond = lambda a,b: tf.less(a,batch_len) #yy=tf.Print(batch_len,[batch_len],”batch_len:”) yy=…

    tensorflow 2023年4月8日
    00
  • 机器学习进阶笔记之一 | TensorFlow安装与入门

    原文链接:https://zhuanlan.zhihu.com/p/22410917 TensorFlow 是 Google 基于 DistBelief 进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。其命名来源于本身的运行原理。Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,Tensor…

    tensorflow 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部