TensorFlow绘制loss/accuracy曲线的实例

yizhihongxing

接下来我将详细讲解“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日

相关文章

  • python人工智能tensorflow常见损失函数LOSS汇总

    Python人工智能TensorFlow常见损失函数LOSS汇总 损失函数(Loss Function)是机器学习中的重要概念,用于衡量模型预测结果与真实结果之间的差异。在TensorFlow中,常见的损失函数有交叉熵损失函数、均方误差损失函数、对数损失函数等。本文将详细讲解TensorFlow中常见的损失函数,并提供两个示例说明。 交叉熵损失函数 交叉熵损…

    tensorflow 2023年5月16日
    00
  • day-17 L1和L2正则化的tensorflow示例

            机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L2范数也被称为权重衰减(weight decay)。        一般回归分析中回归w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明…

    tensorflow 2023年4月8日
    00
  • 利用docker在window7下安装TensorFlow

    安装过程下碰了不少坑,记录一下安装过程,方便以后有需要时复用。   1、安装docker 下载最新版本的docker并且默认安装即可,安装后打开Docker Quickstart Terminal,初次进去需要一段时间。 下载网址:https://www.docker.com/products/docker-toolbox   2、拉取本地镜像 docker…

    tensorflow 2023年4月8日
    00
  • python/Anaconda3/Tensorflow/Pycharm ImportError: DLL load failed: 找不到指定的模块;ImportError: numpy.core.multiarray failed to import 报错解决

    解决办法: (PS:一定要把Anaconda环境自带的包 和Anaconda目录env下tensorflow环境中安装的区分开!) 如果是Anaconda下的tensorflow环境中的程序出错,则: 进入Anaconda Prompt->activate tensorflow->python: 按照这个路径找到numpy文件删除。 进入Anac…

    tensorflow 2023年4月7日
    00
  • C++ TensorflowLite模型验证的过程详解

    C++ TensorflowLite模型验证的过程详解 TensorFlow Lite是TensorFlow的移动和嵌入式设备版本,可以在移动设备和嵌入式设备上运行训练好的模型。本文将详细讲解C++ TensorflowLite模型验证的过程,并提供两个示例说明。 步骤1:加载模型 首先,我们需要加载训练好的模型。可以使用以下代码加载模型: #include…

    tensorflow 2023年5月16日
    00
  • TensorFlow2.0矩阵与向量的加减乘实例

    TensorFlow2.0是一个十分强大的深度学习框架,用于实现矩阵与向量的加减乘是非常常见的操作。本文将介绍如何在TensorFlow2.0中实现这些操作。同时,本文还将提供两个实例说明,以便读者更好的理解。 创建TensorFlow2.0张量 在TensorFlow2.0中,我们可以使用tf.constant()函数来创建张量(Tensor),例如我们可…

    tensorflow 2023年5月18日
    00
  • 知乎TensorFlow入门学习记录

    知乎地址:https://zhuanlan.zhihu.com/p/30487008 import tensorflow as tf a=tf.placeholder(tf.int16) # 接受的数据类型 b=tf.placeholder(tf.int16) add=tf.add(a,b) mul=tf.mul(a,b) with tf.Session()…

    tensorflow 2023年4月7日
    00
  • tensorflow 计算图模型的保存和恢复

    定义计算图并计算,保存其中的变量 。保存.ipynb import tensorflow as tf tf.reset_default_graph() # Create some variables. v1 = tf.get_variable(“v1”, shape=[3], initializer = tf.zeros_initializer) v2 = …

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