前言

最近在做神经网络相关的实验,为了方便神经网络参数是否变化,学习一下TensorBoard可视化网络的参数的方法,这里使用pytorch实现。

实现

当使用PyTorch训练一个简单的神经网络时,可以使用TensorBoardX来可视化网络的参数。以下是一个简单的神经网络训练代码示例:

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

# 创建输入数据
x_train = torch.rand(100, 1)
y_train = x_train * 0.1 + 0.3

# 创建神经网络模型
class SimpleLinearModel(nn.Module):
    def __init__(self):
        super(SimpleLinearModel, self).__init__()
        self.linear = nn.Linear(1, 1)

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

model = SimpleLinearModel()

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

# 创建SummaryWriter对象
writer = SummaryWriter('logs')

# 训练神经网络
for epoch in range(201):
    inputs = x_train
    labels = y_train

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

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

    # 将权重和偏置写入到TensorBoard
    for name, param in model.named_parameters():
        writer.add_histogram(name, param, epoch)

writer.close()

在这个例子中,我们使用PyTorch构建了一个简单的线性模型,并使用TensorBoardX记录了权重和偏置的变化。在训练过程中,我们将参数数据写入到TensorBoard日志文件中,然后在命令行中运行TensorBoard,就可以在浏览器中查看神经网络参数的可视化结果了。

效果

在PyTorch中,您可以使用以下命令来运行TensorBoard:

tensorboard --logdir=logs

![logs](https://img-blog.csdnimg.cn/direct/6390a592cd1e4c1091d7ce91044f72da.png) 就是上面代码的名字

writer = SummaryWriter('logs')

我们在anaconda种运行上面的代码

在这里插入图片描述

复制红色的地址到浏览器 就可以看到效果图了
在这里插入图片描述

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐