在Pytorch中使用tensorboard

本文简要介绍如何在Pytorch中利用Tensorboard来查看网络结构和训练损失,过程与TensorFlow类似。
摘要由CSDN通过智能技术生成

参照官方文档的一部分

在pytorch中使用tensorboard的方法也挺简单,如果要看网络结构和训练损失的话基本上和在TF中使用是差不多的。

import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torch.utils.data as data

# 前提要在自己的环境中安装tensorboard 直接pip安装就行
from torch.utils.tensorboard import SummaryWriter
class Net(nn.Module):
	def __init__(self):
		super(Net,self).__init__()
		self.conv1 = nn.Conv2d(1, 6, 5)
        self.pool1 = nn.MaxPool2d(2, 2)
        self.conv2 
好的,下面是一个使用 PyTorchTensorBoard 的示例代码: ```python import torch import torch.nn as nn import torch.optim as optim from torch.utils.tensorboard import SummaryWriter # 定义模型 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(10, 5) self.fc2 = nn.Linear(5, 1) def forward(self, x): x = self.fc1(x) x = torch.relu(x) x = self.fc2(x) return x # 创建模型和优化器 net = Net() optimizer = optim.SGD(net.parameters(), lr=0.1) # 创建TensorBoard 编写器 writer = SummaryWriter() # 训练模型 for epoch in range(100): # 假设这里有一批数据 input 和 target input = torch.randn(10) target = torch.randn(1) # 前向传播计算损失 output = net(input) loss = nn.functional.mse_loss(output, target) # 反向传播更新参数 optimizer.zero_grad() loss.backward() optimizer.step() # 记录训练过程和结果到TensorBoard writer.add_scalar('Loss/train', loss.item(), epoch) writer.add_scalar('Accuracy/train', accuracy, epoch) writer.add_histogram('conv1.weight', net.conv1.weight, epoch) # 关闭TensorBoard编写器 writer.close() ``` 在上面的代码,我们首先定义了一个包含两个全连接层的神经网络,然后创建了一个 SGD 优化器和一个 TensorBoard 编写器。在训练过程,我们使用随机生成的数据进行前向传播和反向传播,并使用 `SummaryWriter` 将训练过程和结果记录到 TensorBoard 。最后,我们关闭编写器并结束训练过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值