Pytorch中使用TensorBoard详情

PyTorch中使用TensorBoard

在本文中,我们将介绍如何在PyTorch中使用TensorBoard来可视化模型的训练过程和性能。我们将使用两个示例来说明如何使用TensorBoard。

安装TensorBoard

在使用TensorBoard之前,我们需要安装TensorBoard。我们可以使用以下命令来安装TensorBoard:

pip install tensorboard

示例1:可视化损失函数

我们可以使用TensorBoard来可视化模型的损失函数。示例代码如下:

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

# 定义模型
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(2, 1)

    def forward(self, x):
        x = self.fc1(x)
        return x

model = Net()

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

# 创建TensorBoard写入器
writer = SummaryWriter()

# 训练模型
for epoch in range(100):
    running_loss = 0.0
    for i, data in enumerate(train_dataset, 0):
        inputs, labels = data
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
    writer.add_scalar('training loss', running_loss / len(train_dataset), epoch)

在上述代码中,我们定义了一个简单的全连接神经网络Net,它含一个输入层和一个输出层。然后,我们创建了一个模型实例model。我们还定义了损失函数criterion和优化器optimizer。然后,我们创建了一个TensorBoard写入器writer。在训练模型的过程中,我们使用writer.add_scalar()函数将训练损失写入TensorBoard。

示例2:可视化模型结构

我们可以使用TensorBoard来可视化模型的结构。示例代码如下:

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

# 定义模型
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(2, 1)

    def forward(self, x):
        x = self.fc1(x)
        return x

model = Net()

# 创建TensorBoard写入器
writer = SummaryWriter()

# 将模型写入TensorBoard
writer.add_graph(model, torch.randn(1, 2))

在上述代码中,我们定义了一个简单的全连接神经网络Net,它含一个输入层和一个输出层。然后,我们创建了一个模型实例model。我们还创建了一个TensorBoard写入器writer。最后,我们使用writer.add_graph()函数将模型写入TensorBoard。

运行TensorBoard

在我们完成了TensorBoard的写入之后,我们需要运行TensorBoard来查看可视化结果。我们可以使用以下命令来运行TensorBoard:

tensorboard --logdir=runs

在上述命令中,--logdir参数指定了TensorBoard写入器的输出目录。在本例中,我们将TensorBoard写入器的输出目录设置为runs

结论

在本文中,我们介绍了如何在PyTorch中使用TensorBoard来可视化模型的训练过程和性能。我们使用了两个示例来说明如何使用TensorBoard。我们还介绍了如何运行TensorBoard来查看可视化结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pytorch中使用TensorBoard详情 - Python技术站

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

相关文章

  • pytorch的visdom启动不了、蓝屏

    pytorch的visdom启动不了、蓝屏     问题描述:我是在ubuntu16。04上用python3.5安装的visdom。可是启动是蓝屏:在网上找了很久的解决方案:有三篇博文:      https://blog.csdn.net/qq_22194315/article/details/78827185 https://blog.csdn.net/…

    PyTorch 2023年4月8日
    00
  • 动手学深度学习PyTorch版-task01

    优化函数 – 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solut…

    2023年4月8日
    00
  • kaggle——猫狗识别(pytorch)

    数据下载 一、下载数据集并创建以下形式文件目录   train.py: 用于创建并训练模型,并生成训练完成的参数文件。   setting.py: 用于存放训练配置、超参数,包括学习率,训练次数,裁剪图片大小,每次训练图片数量,参数保存地址。   train: 存放下载的数据集(共25000张图片,其中猫狗各12500张)。   func: 自定义包,存放部…

    PyTorch 2023年4月7日
    00
  • pytorch 的一些坑

    1.  Colthing1M 数据集中有的图片没有 224*224大, 直接用 transforms.RandomCrop(224) 就会报错,RandomRange 错误   raise ValueError(“empty range for randrange() (%d,%d, %d)” % (istart, istop, width)) ValueE…

    PyTorch 2023年4月7日
    00
  • 【笔记】PyTorch框架学习 — 2. 计算图、autograd以及逻辑回归的实现

    1. 计算图 使用计算图的主要目的是使梯度求导更加方便。 import torch w = torch.tensor([1.], requires_grad=True) x = torch.tensor([2.], requires_grad=True) a = torch.add(w, x) # retain_grad() b = torch.add(w,…

    2023年4月8日
    00
  • [深度学习] Pytorch学习(二)—— torch.nn 实践:训练分类器(含多GPU训练CPU加载预测的使用方法)

    Learn From: Pytroch 官方TutorialsPytorch 官方文档 环境:python3.6 CUDA10 pytorch1.3 vscode+jupyter扩展 #%% #%% # 1.Loading and normalizing CIFAR10 import torch import torchvision import torch…

    2023年4月8日
    00
  • 安装pytorch后import torch显示no module named ‘torch’

    问题描述:在pycharm终端里通过pip指令安装pytorch,显示成功安装但是python程序和终端都无法使用pytorch,显示no module named ‘torch’。 起因:电脑里有多处安装了python。 在pycharm里,每个project都可以指定python解释器。我是在pycharm终端里通过pip指令安装的pytorch,但是当…

    2023年4月8日
    00
  • pytorch 常用线性函数详解

    PyTorch常用线性函数详解 在本文中,我们将介绍PyTorch中常用的线性函数,包括线性层、批归一化、Dropout和ReLU。我们还将提供两个示例,一个是使用线性层进行图像分类,另一个是使用批归一化进行图像分割。 线性层 线性层是一种将输入张量与权重矩阵相乘并加上偏置向量的操作。在PyTorch中,我们可以使用nn.Linear模块来实现线性层。以下是…

    PyTorch 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部