TensorBoard——Pytorch版使用(附带案例演示)

这篇具有很好参考价值的文章主要介绍了TensorBoard——Pytorch版使用(附带案例演示)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TensorBoard是一个用于可视化机器学习实验结果的工具,可以帮助我们更好地理解和调试训练过程中的模型。

在PyTorch中,我们可以使用TensorBoardX库来与TensorBoard进行交互。TensorBoardX是一个PyTorch的扩展,它允许我们将PyTorch的训练中的关键指标和摘要写入TensorBoard的事件文件中。

一、TensorBoard的使用步骤:

下面是使用TensorBoardX进行可视化的一些常见步骤:

1. 安装TensorBoard

确保你已安装TensorBoard。对于PyTorch用户,TensorBoard也可以独立安装:

pip install tensorboard

2. 在你的代码中配置TensorBoard

使用PyTorch时,你可以通过`torch.utils.tensorboard`模块来使用TensorBoard。首先,导入`SummaryWriter`来记录事件:

from torch.utils.tensorboard import SummaryWriter

# 初始化SummaryWriter
writer = SummaryWriter('runs/experiment_name')

然后,在你的训练循环中,使用`writer.add_scalar`等方法来记录你感兴趣的信息,例如损失和准确率:

for epoch in range(num_epochs):
    # 训练模型...
    loss = ...
    accuracy = ...
    
    # 记录损失和准确率
    writer.add_scalar('Loss/train', loss, epoch)
    writer.add_scalar('Accuracy/train', accuracy, epoch)

# 关闭writer
writer.close()

3. 在PyCharm中启动TensorBoard

接下来,有两种方法在PyCharm中查看TensorBoard:

方案一使用Terminal

1. 打开PyCharm的Terminal。
2. 导航到你的项目目录。
3. 使用以下命令启动TensorBoard:

tensorboard --logdir=runs/

在这要注意一点:pycharm终端默认使用的是base环境,所以终端前面会显示PS,需要进入项目所使用的环境中才可执行tensorboard --logdir=runs/,具体如何操作点击这里。否则会出现如下报错:

TensorBoard——Pytorch版使用(附带案例演示),人工智能

方案二:配置PyCharm运行配置

1. 在PyCharm中,点击右上角的“Add Configuration”。
2. 点击"+",选择"Python"。
3. 在"Script path"中,找到并输入`tensorboard`的执行文件路径。
4. 在"Parameters"字段中,输入`--logdir=runs/`,确保路径与你的TensorBoard日志目录匹配。
5. 保存配置,然后你可以通过点击运行按钮来启动TensorBoard。

 4. 浏览TensorBoard

在TensorBoard启动后,通过浏览器访问TensorBoard界面,你可以看到损失、准确率、图像示例等多种类型的日志信息,这些都可以帮助你分析和改进你的模型。

小提示

  • 当使用PyTorch时,`SummaryWriter`的路径(例如`runs/experiment_name`)定义了TensorBoard日志的存储位置。确保每次实验使用不同的名称,以便在TensorBoard中清晰地区分它们。
  • 利用TensorBoard的高级特性,如图像、图表和直方图记录,可以提供更多关于模型训练过程和结果的洞察。

二、案例演示

步骤1: 创建PyTorch模型

首先,我们定义一个简单的线性回归模型。

import torch
import torch.nn as nn
import numpy as np
from torch.utils.tensorboard import SummaryWriter

# 定义模型
class LinearRegressionModel(nn.Module):
    def __init__(self):
        super(LinearRegressionModel, self).__init__()
        self.linear = nn.Linear(1, 1)  # 输入和输出都是1维

    def forward(self, x):
        return self.linear(x)

步骤2: 训练模型并记录日志

接着,我们将准备数据、定义损失函数和优化器,并在训练循环中使用SummaryWriter来记录损失:

# 准备数据
x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168], 
                    [9.779], [6.182], [7.59], [2.167], 
                    [7.042], [10.791], [5.313], [7.997], [3.1]], dtype=np.float32)

y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573], 
                    [3.366], [2.596], [2.53], [1.221], 
                    [2.827], [3.465], [1.65], [2.904], [1.3]], dtype=np.float32)

x_train = torch.from_numpy(x_train)
y_train = torch.from_numpy(y_train)

# 初始化模型
model = LinearRegressionModel()

# 损失和优化器
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)

# 初始化SummaryWriter
writer = SummaryWriter('runs/linear_regression_experiment')

# 训练模型
num_epochs = 100
for epoch in range(num_epochs):
    # 转换为tensor
    inputs = x_train
    targets = y_train

    # 前向传播
    outputs = model(inputs)
    loss = criterion(outputs, targets)

    # 反向传播和优化
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

    # 记录损失
    writer.add_scalar('Loss/train', loss.item(), epoch)

    if (epoch+1) % 10 == 0:
        print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')

# 关闭SummaryWriter
writer.close()

步骤3: 在PyCharm中启动TensorBoard

(训练开始或完成之后)按照之前的指导,在PyCharm中使用Terminal或配置运行配置来启动TensorBoard。确保TensorBoard的--logdir参数设置为runs/,与SummaryWriter的初始化路径一致。

这里采用Terminal的方案:

TensorBoard——Pytorch版使用(附带案例演示),人工智能

步骤4: 观察TensorBoard

点击生成的链接http://localhost:6006/即可查看结果:

TensorBoard——Pytorch版使用(附带案例演示),人工智能文章来源地址https://www.toymoban.com/news/detail-838546.html

到了这里,关于TensorBoard——Pytorch版使用(附带案例演示)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AutoGPT自主人工智能用法和使用案例

    介绍 AutoGPT是什么: 自主人工智能 ,不需要人为的干预,自己完成思考和决策【比如最近比较热门的用AutoGPT创业,做项目–就是比较消耗token】 AI 自己上网、自己使用第三方工具、自己思考、自己操作你的电脑【就是操作你的电脑,比如下载一些软件,运行查看结果之类的

    2023年04月20日
    浏览(49)
  • TensorBoard快速入门(Pytorch使用TensorBoard)

    TensorBoard 是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如: 记录 损失变化、准确率变化 等 记录 图片变化、语音变化、文本变化等 ,例如在做GAN时,可以过一段时间记录一张生成的图片 绘制模型 具体支持的内容可以参考官方文档 直接使用pip安

    2024年01月20日
    浏览(28)
  • 人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用

    如:天空 coco包含pascal voc 的所有类别,并且对每个类别的标注目标个数也比pascal voc的多。 一般使用coco数据集预训练好的权重来迁移学习。 如果仅仅针对目标检测object80类而言,有些图片并没有标注信息,或者有错误标注信息。所以在实际的训练过程中,需要对这些数据进行

    2024年02月12日
    浏览(61)
  • AI人工智能对话系统网页版源码系统 附带完整的搭建教程

    AI人工智能对话系统网页版源码系统的开发背景主要是基于自然语言处理技术和机器学习算法的不断发展。自然语言处理技术使得计算机能够理解和分析人类语言,而机器学习算法则能够让计算机自我学习和改进,不断提高对话系统的智能化水平。 此外,随着互联网的普及和

    2024年02月03日
    浏览(53)
  • 在 Pytorch 中使用 TensorBoard

    机器学习的训练过程中会产生各类数据,包括 “标量scalar”、“图像image”、“统计图diagram”、“视频video”、“音频audio”、“文本text”、“嵌入Embedding” 等等。为了更好地追踪和分析这些数据,许多可视化工具应运而生,比如之前介绍的 wandb 本文介绍另一种更加常用的

    2024年02月11日
    浏览(33)
  • 【pytorch】tensorboard + transforms的使用

    一、tensorboard的使用 1. 加载一张图片转化为tensor类型,并通过tenboard可视化  二、transforms的常用函数 细心的小伙伴已发现了,上面已经使用了transforms了,我们在添加图片时,用到了ToTensor()这个函数。 ToTensor()函数: 将一个PIL类型转换成tensor类型; Normalize() 函数: 用于归一

    2024年02月10日
    浏览(29)
  • ChatGPT人工智能对话系统源码 一款非常强大的AI智能系统 附带完整的搭建教程

    随着人工智能技术的不断发展,对话系统作为人机交互的重要方式,已经成为了各个领域的热门应用。ChatGPT作为一款强大的人工智能对话系统,备受关注。它基于深度学习技术,通过学习大量的语料库,实现了自然语言理解和生成的能力,能够与用户进行智能化的交互。 以

    2024年01月17日
    浏览(61)
  • Pytorch使用TensorBoard(使用AutoDL快速入门)(mac系统)

    AutoDL配有miniconda,提供 tensorboard 监控 没有账号的可以注册体验,新用户注册有十元免费代金券 https://www.autodl.com/register?code=c7d8238d-2b58-4765-a38a-1b9c3f39926e 终端进入项目环境,输入命令安装 终端输入: 正常输出则安装成功 导入包 创建一个SummaryWriter对象:用于创建一个log文件

    2024年02月06日
    浏览(217)
  • 精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型

    精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型。 机器学习 人工智能的核心,是使计算机具有智能的根本途径。机器学习专注于算法,允许机器学习而不需要编程,

    2024年01月25日
    浏览(71)
  • Pytorch中如何加载数据、Tensorboard、Transforms的使用

    一、Pytorch中如何加载数据 在Pytorch中涉及到如何读取数据,主要是两个类一个类是Dataset、Dataloader Dataset 提供一种方式获取数据,及其对应的label。主要包含以下两个功能: 如何获取每一个数据以及label 告诉我们总共有多少的数据 Dataloader,可以对数据进行打包,为后面的网络

    2024年02月10日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包