小土堆:Pytorch深度学习:神经网络-卷积层

今天学习Pytorch深度学习:神经网络-卷积层。

# 导入所需的库import torchimport torchvisionfrom torch import nnimport torchvisionfrom torch.nn import Conv2dfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriter
# 下载并加载CIFAR-10数据集dataset = torchvision.datasets.CIFAR10("dataset", train=False, transform=torchvision.transforms.ToTensor(),                                       download=True)
# 创建数据加载器dataloader = DataLoader(dataset, batch_size=64)
# 定义一个自定义的神经网络模型,包含一个卷积层class Yang(nn.Module):    def __init__(self):        super(Yang, self).__init__()        self.conv1 = Conv2d(in_channels=3, out_channels=6, kernel_size=3, stride=1, padding=0)
    def forward(self, x):        x = self.conv1(x)        return x
# 创建一个Yang类的实例yang = Yang()print(yang)
# 创建一个用于记录训练过程的SummaryWriterwriter = SummaryWriter("logs")step = 0
# 对数据集进行迭代for data in dataloader:    imgs, targets = data
    # 将图像输入模型并获取输出    output = yang(imgs)
    # 打印图像和输出的形状    print(imgs.shape)    print(output.shape)
    # 将图像和输出添加到TensorBoard中进行可视化    writer.add_images("input", imgs, step)# torch.Size([64, 6, 30, 30])      # 由于 6 个 channel 的图像,是无法显示的,所以,对这个图像进行处理,这里是通过batch_size来调整channel的    output = torch.reshape(output, (-1, 3, 30, 30)) # 这个方法不是很严谨,目的是将 batch_size 降低,当不知道设置为多少合适时,设置为 -1 ,参数会自己计算的    writer.add_images("output", output, step)
    # 更新步骤计数器    step = step + 1

这段代码主要实现了以下功能: 

- 加载CIFAR-10数据集并创建数据加载器。

- 定义一个简单的卷积神经网络模型。

- 使用模型对数据集中的图像进行卷积操作,并将输入和输出保存到TensorBoard中进行可视化。

- 训练过程中,记录每一步的输入和输出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值