TensorFlow绘制loss/accuracy曲线的实例

接下来我将详细讲解“TensorFlow绘制loss/accuracy曲线的实例”的完整攻略,包含两条示例说明。

示例1:绘制loss曲线

在TensorFlow中,绘制loss曲线非常简单,我们只需要定义一个损失函数,然后使用TensorFlow的tf.summary模块记录每个epoch的损失值,最后使用TensorBoard绘制出loss曲线即可。

这里提供一个简单的例子来演示如何绘制loss曲线。

import tensorflow as tf
import numpy as np

# 定义输入数据
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3

# 定义模型
Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
biases = tf.Variable(tf.zeros([1]))
y_pred = Weights * x_data + biases

# 定义损失函数,并使用tf.summary记录每个epoch的损失值
loss = tf.reduce_mean(tf.square(y_pred - y_data))
tf.summary.scalar('loss', loss)

# 训练模型
train_op = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

# 启动TensorFlow会话
with tf.Session() as sess:
    # 将tf.summary合并后的数据写入日志文件
    summary_op = tf.summary.merge_all()
    summary_writer = tf.summary.FileWriter('logs', sess.graph)

    sess.run(tf.global_variables_initializer())
    for step in range(201):
        sess.run(train_op)
        if step % 20 == 0:
            # 记录每个epoch的损失值
            summary_str = sess.run(summary_op)
            summary_writer.add_summary(summary_str, step)

上述代码中,我们定义了一个简单的线性回归模型,使用梯度下降优化器来训练模型,同时使用tf.summary模块记录每个epoch的损失值,并将记录的数据写入到日志文件中。我们可以通过运行以下命令启动TensorBoard来查看绘制出的loss曲线:

tensorboard --logdir=logs

然后在浏览器中打开http://localhost:6006,即可看到绘制出的loss曲线。

示例2:绘制accuracy曲线

同样地,我们可以利用TensorFlow的tf.summary模块来记录每个epoch的准确率,并使用TensorBoard绘制出准确率曲线。

以下是一个简单的分类模型来演示如何绘制accuracy曲线:

import tensorflow as tf
import numpy as np

# 定义输入数据
x_train = np.random.rand(100, 4)
y_train = np.eye(3)[np.random.randint(0, 3, (100,))]

# 定义模型
inputs = tf.placeholder(tf.float32, shape=[None, 4], name='inputs')
labels = tf.placeholder(tf.float32, shape=[None, 3], name='labels')
W = tf.Variable(tf.zeros([4, 3]), name='weights')
b = tf.Variable(tf.zeros([3]), name='biases')
y_logit = tf.matmul(inputs, W) + b
y_pred = tf.nn.softmax(y_logit)

# 定义损失函数,并使用tf.summary记录每个epoch的损失值和准确率
loss = tf.reduce_mean(-tf.reduce_sum(labels * tf.log(y_pred), reduction_indices=[1]))
accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(y_pred, 1), tf.argmax(labels, 1)), tf.float32))
tf.summary.scalar('loss', loss)
tf.summary.scalar('accuracy', accuracy)

# 训练模型
train_op = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

# 启动TensorFlow会话
with tf.Session() as sess:
    # 将tf.summary合并后的数据写入日志文件
    summary_op = tf.summary.merge_all()
    summary_writer = tf.summary.FileWriter('logs', sess.graph)

    sess.run(tf.global_variables_initializer())
    for step in range(201):
        sess.run(train_op, feed_dict={inputs: x_train, labels: y_train})
        if step % 20 == 0:
            # 记录每个epoch的损失值和准确率
            summary_str = sess.run(summary_op, feed_dict={inputs: x_train, labels: y_train})
            summary_writer.add_summary(summary_str, step)

在上述代码中,我们定义了一个简单的三分类模型,使用交叉熵损失函数来训练模型,并使用tf.summary模块记录每个epoch的损失值和准确率,并将记录的数据写入到日志文件中。我们可以通过运行以下命令启动TensorBoard来查看绘制出的accuracy曲线:

tensorboard --logdir=logs

然后在浏览器中打开http://localhost:6006,即可看到绘制出的accuracy曲线。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TensorFlow绘制loss/accuracy曲线的实例 - Python技术站

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

相关文章

  • tensorflow1.0 lstm学习曲线

    import tensorflow as tf import numpy as np import matplotlib.pyplot as plt BATCH_START = 0 TIME_STEPS = 20 BATCH_SIZE = 20 INPUT_SIZE = 1 OUTPUT_SIZE = 1 CELL_SIZE = 10 LR = 0.0025…

    2023年4月8日
    00
  • TensorFlow入门教程系列(二):用神经网络拟合二次函数

    通过TensorFlow用神经网络实现对二次函数的拟合。代码来自莫烦TensorFlow教程。 1 import tensorflow as tf 2 import numpy as np 3 4 def add_layer(inputs, in_size, out_size, activation_function=None): 5 Weights = t…

    tensorflow 2023年4月7日
    00
  • (tensorflow计算)如何查看tensorflow计算用的是CPU还是GPU

    目录: 一、问题解决 二、扩展内容   一、问题解决 在sess.run()这行命令前面,加上如下内容:   sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) 终端的Device mapping(设备映射)     二、…

    2023年4月7日
    00
  • TensorFlow:将ckpt文件固化成pb文件教程

    在TensorFlow中,我们可以将ckpt文件固化成pb文件,以便在其他平台上使用。本文将详细讲解如何将ckpt文件固化成pb文件,并提供两个示例说明。 步骤1:导入TensorFlow库 首先,我们需要导入TensorFlow库。可以使用以下代码导入TensorFlow库: import tensorflow as tf 步骤2:定义TensorFlow…

    tensorflow 2023年5月16日
    00
  • tensorflow– Dataset创建数据集对象

    tf.data模块包含:  experimental 模块  Dataset 类  FixedLengthRecordDataset 类 TFRecordDataset 类 TextLineDataset 类 1 # author by FH. 2 # OverView: 3 # tf.data 4 # experimental —Modules 5 #…

    tensorflow 2023年4月5日
    00
  • TensorFlow的reshape操作 tf.reshape的实现

    TensorFlow的reshape操作可以用于改变张量的形状,例如将一维向量转换为二维矩阵或将多维张量进行展平。tf.reshape函数是TensorFlow中常用的张量形状操作函数之一,下面将对它的实现过程进行详细解释,并附上两个示例。 Tensorflow中tf.reshape函数的用法 tf.reshape用于调整张量的维度,格式如下: tf.res…

    tensorflow 2023年5月17日
    00
  • CentOS下安装python3.6安装tensorflow

    1、从anaconda官网(https://www.continuum.io/downloads)上下载Linux版本的安装文件(推荐Python 2.7版本),运行sh完成安装。 安装完Anaconda,也就安装了python3.5等相关工具 2、安装pymysql>>> pip install pymysql 3、安装完成后,打开终端,…

    tensorflow 2023年4月6日
    00
  • 【tensorflow】重置/清除计算图

    调用tf.reset_default_graph()重置计算图 当在搭建网络查看计算图时,如果重复运行程序会导致重定义报错。为了可以在同一个线程或者交互式环境中(ipython/jupyter)重复调试计算图,就需要使用这个函数来重置计算图,随后修改计算图再次运行。 #重置计算图,清理当前定义节点 import tensorflow as tf tf.res…

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