【pytorch】pytorch入门4:神经网络的卷积层


文章目录


前言

使用 B站小土堆课程的笔记


一、定义概念 + 缩写

  • 卷积层是神经网络中用于突出特征来进行分类任务的层。

二、性质

  • 卷积核例子:vgg16 model

三、代码

  • 添加库
py 复制代码
python代码块import os
import torch
import torchvision # torchvision 通常用于计算机视觉任务
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
  • 下载/加载数据集,加载数据
py 复制代码
# 这是一个类,用于下载和加载 CIFAR-10 数据集。CIFAR-10 是一个常用的小型图像数据集,用于训练机器学习和计算机视觉算法。它包含10个类别,每个类别有6000张32x32的彩色图像,总共有60000张图像。
# transform=torchvision.transforms.ToTensor() 转换格式
dataset = torchvision.datasets.CIFAR10("../data", train=False, transform=torchvision.transforms.ToTensor(),
                                       download=True)

# load data
dataloader = DataLoader(dataset, batch_size=64)
  • 定义类,搭建简单神经网络
py 复制代码
# 搭建简单 NN
class Tudui(nn.Module):
    def __init__(self):

        # 继承
        super(Tudui, self).__init__()

        # 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) # conv
        return x
        
# create an example
tudui = Tudui()
  • 加载到 tensorboard
py 复制代码
# log writer, write to tensorboard
writer = SummaryWriter("../logs")
  • 进行卷积
py 复制代码
# init counter
step = 0

# 循环进行卷积操作
for data in dataloader:
    imgs, targets = data
    output = tudui(imgs) # def a output
    print(imgs.shape)
    print(output.shape)
    # torch.Size([64, 3, 32, 32])

    # add img to tensorboard
    writer.add_images("input", imgs, step)
    # torch.Size([64, 6, 30, 30])  -> [xxx, 3, 30, 30]

    output = torch.reshape(output, (-1, 3, 30, 30))
    writer.add_images("output", output, step)

    # counter
    step = step + 1
  • 直接在 py 中加载 tensorboard,端口=6006;关闭 writer
py 复制代码
# open tensorboard
os.system('tensorboard --logdir=logs --port=6006')
# tensorboard --logdir="D:\Libraries\projects\python\001 learningTest and small task\a005_pytorch\a002_lesson_src\logs" --port=6006

writer.close()

总结


参考文献

1

相关推荐
喜欢就别12 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation
人工智能·笔记
糯米导航3 小时前
AI 视觉回归实战:截图对比不是“找不同”,如何让智能差异分析真正服务 UI 质量
人工智能·ui·回归
科技圈观察3 小时前
2026年好伴AI医疗专用大模型应用梳理与梯队参考
人工智能
jkyy20144 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
cd_949217214 小时前
3D角色自动绑骨怎么做?用V2Fun完成建模、绑定、动作和导出
人工智能·3d
瑞禧生物tech4 小时前
SH-PEG-Biotin巯基-聚乙二醇-生物素 HS-PEG-Bio 深度解析
人工智能
QYR-分析4 小时前
机器人安全控制器行业高速扩容 本土替代迎来全新发展窗口期
人工智能·安全·机器人
冬奇Lab5 小时前
MCP 系列(06):MCP vs Function Calling——用数据说话的选型指南
人工智能
冬奇Lab5 小时前
每日一个开源项目(第159篇):Vibe-Trading - 用自然语言做量化研究,AI 驱动的个人交易 Agent
人工智能·开源·资讯
AI大模型-小雄5 小时前
2026 年 7 月国内怎么开通 ChatGPT Pro?5x / 20x 区别、适合人群与避坑指南
人工智能·gpt·chatgpt·ai编程·开发工具·codex·chatgpt pro