您的位置:首页 > 文旅 > 旅游 > 在线咨询平台系统_品牌营销平台_企业seo网络营销_网络推广员为什么做不长

在线咨询平台系统_品牌营销平台_企业seo网络营销_网络推广员为什么做不长

2024/12/27 6:08:19 来源:https://blog.csdn.net/m0_62977737/article/details/144067181  浏览:    关键词:在线咨询平台系统_品牌营销平台_企业seo网络营销_网络推广员为什么做不长
在线咨询平台系统_品牌营销平台_企业seo网络营销_网络推广员为什么做不长

目录

  • add_image()
    • 常见用法
    • 参数解释
    • 示例:记录每个训练步骤中的图像
  • add_scalar()
    • 常见用法
    • 参数解释
    • 示例:记录损失和准确率
    • 常见应用场景

add_image()

add_image() 是 TensorBoard 的一个 API 方法,用于将图像添加到 TensorBoard 的可视化面板中,以便在训练过程中查看模型的图像数据。通常,add_image() 用于记录训练过程中生成的图像、模型预测的图像、或者其他图像类型数据。这样,用户可以通过 TensorBoard 实时监控模型的训练过程。

常见用法

import torch
from torch.utils.tensorboard import SummaryWriter
import torchvision# 创建 TensorBoard writer
writer = SummaryWriter()# 假设我们有一个图像(例如一个 tensor 或者从 dataset 中获取)
image_tensor = torch.randn(3, 64, 64)  # 3通道,64x64的随机图像# 添加图像到 TensorBoard
writer.add_image('Random Image', image_tensor)# 关闭 writer
writer.close()

参数解释

add_image() 的参数包括:

  1. tag: 图像的标签(字符串),可以在 TensorBoard 中用于标识不同的图像。
  2. img_tensor: 需要记录的图像数据。这个数据通常是一个 tensor,形状为 (C, H, W),其中 C 是通道数(例如 RGB 为 3),H 是图像的高度,W 是图像的宽度。
  3. global_step (可选): 用于记录图像的步骤标记,通常是在训练中记录的步数或 epoch。
  4. walltime (可选): 图像添加的时间,默认是当前时间。

示例:记录每个训练步骤中的图像

# 假设你在训练过程中,每训练完一个 batch,就记录一个图像
for step, (images, labels) in enumerate(train_dataloader):# 这里假设 images 是 batch 中的一张图片writer.add_image('Training Image', images[0], step)

这样,每当训练到一个新步骤时,images[0](一个 batch 中的第一张图像)都会被添加到 TensorBoard 上,供用户查看。

add_scalar()

add_scalar() 是 TensorBoard 的一个 API 方法,用于将标量数据添加到 TensorBoard 的可视化面板中,以便监控模型训练过程中的一些指标(如损失、准确率等)。你可以通过 add_scalar() 方法记录一个标量值(例如训练过程中的损失值或准确率),并将其与训练步骤(global_step)关联,TensorBoard 会根据这些标量数据生成相应的折线图或其他可视化图形。

常见用法

import torch
from torch.utils.tensorboard import SummaryWriter# 创建 TensorBoard writer
writer = SummaryWriter()# 假设我们有一些训练过程中的标量数据
for step in range(100):loss = 0.01 * step  # 假设损失值逐渐减小accuracy = 100 - 0.1 * step  # 假设准确率逐渐提高# 记录损失值到 TensorBoardwriter.add_scalar('Loss', loss, step)# 记录准确率到 TensorBoardwriter.add_scalar('Accuracy', accuracy, step)# 关闭 writer
writer.close()

参数解释

add_scalar() 的参数包括:

  1. tag: 标量的标签(字符串),用于在 TensorBoard 中区分不同的标量曲线,例如 ‘Loss’, ‘Accuracy’ 等。
  2. scalar_value: 需要记录的标量值,通常是一个浮动数值,表示某个指标(例如损失值、准确率等)。
  3. global_step (可选): 训练的步数,通常是当前的训练迭代(epoch)或 mini-batch 的编号,用于标识标量数据的时间戳。这个步骤会被用作横轴,帮助跟踪标量值随训练进度的变化。
  4. walltime (可选): 数据记录的时间戳,默认是当前时间。

示例:记录损失和准确率

在训练过程中,通常需要记录训练损失和准确率。使用 add_scalar() 方法可以将这些值保存下来并在 TensorBoard 中可视化:

# 假设每个 epoch 训练时都更新损失和准确率
for epoch in range(10):train_loss = 0.5 * epoch  # 假设损失在减少train_accuracy = 90 + 1.5 * epoch  # 假设准确率在提高# 记录损失和准确率到 TensorBoardwriter.add_scalar('Train/Loss', train_loss, epoch)writer.add_scalar('Train/Accuracy', train_accuracy, epoch)

常见应用场景

  1. 损失函数曲线:在训练过程中,你可以用 add_scalar() 方法记录每个训练步骤或每个 epoch 的损失值,帮助你跟踪模型是否正在收敛。

    writer.add_scalar('Loss/train', loss, epoch)
    
  2. 准确率曲线:你也可以记录每个 epoch 或 batch 的准确率或其他评价指标,查看模型的性能变化。

    writer.add_scalar('Accuracy/train', accuracy, epoch)
    
  3. 学习率曲线:可以记录学习率的变化,特别是在使用学习率调度器时,查看学习率的变化趋势。

    writer.add_scalar('Learning Rate', lr, epoch)
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com