当前位置: 首页 > news >正文

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


文章目录

  • 前言
  • 一、定义概念 + 缩写
  • 二、性质
  • 三、代码
  • 总结
  • 参考文献


前言

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


一、定义概念 + 缩写

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

二、性质

  • 卷积核例子:vgg16 model
    在这里插入图片描述

三、代码

  • 添加库
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
  • 下载/加载数据集,加载数据
# 这是一个类,用于下载和加载 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)
  • 定义类,搭建简单神经网络
# 搭建简单 NN
class Tudui(nn.Module):def __init__(self):# 继承super(Tudui, self).__init__()# initself.conv1 = Conv2d(in_channels=3, out_channels=6, kernel_size=3, stride=1, padding=0)# 卷积层def forward(self, x):x = self.conv1(x) # convreturn x# create an example
tudui = Tudui()
  • 加载到 tensorboard
# log writer, write to tensorboard
writer = SummaryWriter("../logs")
  • 进行卷积
# init counter
step = 0# 循环进行卷积操作
for data in dataloader:imgs, targets = dataoutput = tudui(imgs) # def a outputprint(imgs.shape)print(output.shape)# torch.Size([64, 3, 32, 32])# add img to tensorboardwriter.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)# counterstep = step + 1
  • 直接在 py 中加载 tensorboard,端口=6006;关闭 writer
# 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=6006writer.close()

总结


参考文献

[1]

http://www.lryc.cn/news/447249.html

相关文章:

  • 【机器学习】探索LSTM:深度学习领域的强大时间序列处理能力
  • QT学习笔记之文件操作
  • Mybatis XML配置文件操作数据库
  • Ansible-template模块动态生成特定文件
  • 【Hadoop】【vim编辑器】【~/.bashrc 文件】如何编辑
  • vs code自动报错
  • 详细分析Nginx中的proxy_pass 末尾斜杠
  • 数据结构:双指针—移动0(OJ283)
  • LeetCode - 850 矩形面积 II
  • Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像
  • C++入门基础知识86(实例)——实例11【计算自然数之和】
  • ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用
  • OpenAi以及Dify结合生成Ai模型
  • 【漏洞复现】用友 UFIDA /portal/pt/file/upload 任意文件上传漏洞
  • C:内存函数
  • 【Web】御网杯信息安全大赛2024 wp(全)
  • VC++同时处理ANSI和Unicode字符集,除了使用TCHAR和_T()宏外,还有其他方法可以实现吗?
  • MATLAB定位程序与讲解【专栏介绍】
  • 机器学习3--numpy
  • Linux之我不会
  • 音视频整体解码流程和同步流程
  • 1.2 HuggingFists安装说明-Linux安装
  • 四,MyBatis-Plus 当中的主键策略和分页插件的(详细实操使用)
  • Win32打开UWP应用
  • C# C++ 笔记
  • 关于最小二乘法
  • 国产OpenEuler与Centos全面之比较
  • Java面试题一
  • LabVIEW提高开发效率技巧----自动化测试和持续集成
  • 开源链动 2+1 模式 S2B2C 商城小程序:激活 KOC,开启商业新征程