当前位置: 首页 > 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]

相关文章:

  • 实现简易 vuedraggable 的拖拽排序功能
  • JavaScript异步编程:async、await的使用
  • 高级java每日一道面试题-2024年9月18日-设计模式篇-JDK动态代理,CGLIB代理,AspectJ区别?
  • MySQL数据库迁移与备份实录
  • 如何在O2OA中使用ElementUI组件进行审批流程工作表单设计
  • 重生之我在代码随想录刷算法第十四天 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • mysql-connector-java本地试验
  • Python数据分析工具(三):pymssql的用法
  • 选对工具,效率飞跃提升
  • Kibana中突然看不到日志ElasticSearch突然采集不到日志问题解决分析
  • Ubuntu24.04 安装ssh开启22端口及允许root用户远程登录
  • 记录一次学习--委派攻击学习
  • Ubuntu以及ROS的一些方便设置及使用
  • H.264与H.265
  • Protobuf vs Thrift: 高性能序列化框架的对比与分析
  • [译] 怎样写一个基础的编译器
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Docker 笔记(2):Dockerfile
  • es6
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Linux各目录及每个目录的详细介绍
  • Nacos系列:Nacos的Java SDK使用
  • Promise面试题2实现异步串行执行
  • 爱情 北京女病人
  • 闭包,sync使用细节
  • 代理模式
  • 机器学习学习笔记一
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 实现简单的正则表达式引擎
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 阿里云移动端播放器高级功能介绍
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # 达梦数据库知识点
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #pragma预处理命令
  • (55)MOS管专题--->(10)MOS管的封装
  • (Charles)如何抓取手机http的报文
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (篇九)MySQL常用内置函数
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (一)SpringBoot3---尚硅谷总结
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (自用)仿写程序
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET MVC第三章、三种传值方式
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET 服务 ServiceController
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net6使用Sejil可视化日志