首页/新闻资讯/正文详情

卷积神经网络详解(CNN)

发布时间:2026/9/26 20:04:14 来源:云帆数科 栏目:资讯中心
卷积神经网络详解(CNN)
卷积神经网络是一种稀疏连接的神经网络虽然由于稀疏连接较全连接神经网络失去了一些拟合能力但以此换来的对训练成本的降低却是极高的。在CNN发展史上一些经典模型有LeNet-5、AlexNet、VGG、ResNet等。1、conv2dimport torch import torch.nn as nn torch.nn.Conv2d(in_channels,out_channels,kernel_size,strade,padding,dilation,groups,bias,padding_modezeros)1、in_channels输入通道数即输入的特征图数量2、out_channels输出通道数即卷积核数量在groups参数为1的情况下每个卷积核会逐一与输入特征图交互3、kernel_size卷积核大小4、stride步长即卷积核单次移动步数5、padding填充即在特征图四周填充的0的层数6、dilation空洞率正常情况下为1大于等于2的情况下卷积核会间隔dilation-1个像素7、groups分组卷积输入通道和输出通道必须能被groups整除8、bias类似于axb中的b值是一个可学习参数9、padding_mode默认zeors2、示例代码import torch import torch.nn as nn from torchvision import transforms,datasets import torch.utils.data as Data torch.cuda.empty_cache() devicetorch.device(cuda:0 if torch.cuda.is_available() else cpu) BATCH_SIZE50 transformtransforms.Compose([ transforms.Resize((224,224)), transforms.ToTensor(), transforms.Normalize((0.1307,),( 0.3081,)) ]) train_datadatasets.MNIST( rootD:/mypython/MNISTdataset, trainTrue, downloadTrue, transformtransform ) #print(train_data.train_data.size()) #print(train_data.train_labels.size()) train_loaderData.DataLoader(datasettrain_data,batch_sizeBATCH_SIZE,shuffleTrue) traintest,labeltestnext(iter(train_loader)) #print(traintest.shape) #print(labeltest.shape) test_datadatasets.MNIST( rootD:/mypython/MNISTdataset, trainFalse, transformtransform ) test_loaderData.DataLoader(datasettest_data,batch_size50,shuffleFalse) test_x,test_ynext(iter(test_loader)) #print(test_x.size()) #print(test_y.size()) class CNN(nn.Module): def __init__(self): super(CNN, self).__init__() self.conv1nn.Conv2d(in_channels1,out_channels32,kernel_size2,stride2,padding0) self.relu1nn.ReLU() self.pool1nn.AvgPool2d(kernel_size2,stride2) self.fc1nn.Linear(32*56*56, 128) self.relu2nn.ReLU() self.fc2nn.Linear(128,10) def forward(self,x): xself.pool1(self.relu1(self.conv1(x))) xx.view(-1,32*56*56) xself.fc2(self.relu2(self.fc1(x))) return x modelCNN() modelmodel.to(devicedevice) optimizertorch.optim.Adam(model.parameters(),lr0.01) loss_functorch.nn.CrossEntropyLoss() for step,(x,y) in enumerate(train_loader): b_xx.to(devicedevice) b_yy.to(devicedevice) outputmodel(b_x) lossloss_func(output,b_y) optimizer.zero_grad() loss.backward() if step % 100 0: t_xtest_x.to(devicedevice) t_ytest_y.to(devicedevice) test_outputmodel(t_x) pred_ytorch.max(test_output,1)[1].data.squeeze() accuracy(pred_yt_y).sum().item()/float(test_y.size(0)) print(train loss%.4f %loss.data,|test accuracy:%.2f %accuracy)

相关推荐

Claude Code 工程笔记:用 TaoToken 统一 Key 打通 Prompt Caching 优先的 Agent Harness(defer_loading、Plan Mode 与 Com
Claude Code 工程笔记:用 TaoToken 统一 Key 打通 Prompt Caching 优先的 Agent Harness(defer_loading、Plan Mode 与 Com

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 20:04:08

基于STM32单片机公交车自动报站系统GPS定位地铁温度湿度蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S548
基于STM32单片机公交车自动报站系统GPS定位地铁温度湿度蓝牙/WiFi/视频监控/云平台无线APP-DIY设计S548

S548-GPS定位报站温度湿度经纬度识别语音播报运行方向车门本站下一站手动自动安全提醒屏按键蓝牙/WiFi/视频监控/云平台APP本系统由STM32F103C8T6单片机核心板、TFT屏、无线蓝牙/WIFI/视频监控/云平台模块-可选、舵机控制电路、语音播报模块接口、GPS定位模块、温湿度模块、电源… · 2026/9/26 20:04:08

cpp算法题目整理——线性枚举篇2
cpp算法题目整理——线性枚举篇2

三元组中心问题 题目描述&#xff1a; 在数列 a1,a2,⋯,ana1​,a2​,⋯,an​ 中&#xff0c;如果对于下标 i,j,ki 满足 0<i<j<k<n1 且 ai<aj<ak​&#xff0c;则称 ai,aj,ak 为一组递增三元组&#xff0c;aj为递增三元组的中心。 给定一个数列&#xff0c… · 2026/9/26 20:04:08

开源AI代码评审流水线open-code-review实战:架构、调优与踩坑
开源AI代码评审流水线open-code-review实战:架构、调优与踩坑

先交代个背景&#xff1a;过去大半年&#xff0c;我一直在折腾一套叫 open-code-review 的开源代码评审流水线。起因很现实——我们组的代码评审从“没人看”变成了“来不及看”。PR 在队列里堆着&#xff0c;reviewer 要么在开会&#xff0c;要么在写自己的代码&#xff0c;等… · 2026/9/26 20:52:07

数据结构二叉树:遍历、线索化与运行时错误排查
数据结构二叉树:遍历、线索化与运行时错误排查

数据结构&#xff08;四&#xff09;二叉树学数据结构绕不开二叉树&#xff0c;408考研、期末考、实验报告、机试&#xff0c;到处都有它的影子。我当年学到这里的时候也有种“听懂了但不会写代码&#xff0c;写出了代码却总报错”的憋屈感&#xff0c;尤其是那几个运行时错误&… · 2026/9/26 20:52:07

AI代码审查工具open-code-review:Git Diff驱动大模型实战解析
AI代码审查工具open-code-review:Git Diff驱动大模型实战解析

1. 项目概述与设计思路1.1 为什么又双叒叕要写一个 code review 工具很久之前我就在琢磨一个问题&#xff1a;代码评审到底难在哪儿&#xff1f;代码评审难在“带着脑子读代码”&#xff0c;但人的注意力天然有限。一个PR改动超过300行&#xff0c;绝大多数人会直接放弃精读&am… · 2026/9/26 20:52:00

Kata Containers API 设计解析:从 Sandbox 操作到 VM 插件框架
Kata Containers API 设计解析:从 Sandbox 操作到 VM 插件框架

云原生容器运行时 【免费下载链接】kata-containers Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolat… · 2026/9/26 20:51:54

Harness实战:Agent工程化落地的核心架构与沙箱实践
Harness实战:Agent工程化落地的核心架构与沙箱实践

1. 这不是又一个“Hello World”Agent项目&#xff1a;Harness实战到底在解决什么真问题&#xff1f;你点开这个标题&#xff0c;大概率已经踩过至少三次坑&#xff1a;第一次是用LangChain搭了个能查天气的Agent&#xff0c;跑通了但根本没法加新功能&#xff1b;第二次试了La… · 2026/9/26 20:51:54

桌面端启动慢?线程加载与缓存优化实战指南
桌面端启动慢?线程加载与缓存优化实战指南

1. 桌面端启动慢这件事&#xff0c;到底卡在哪用桌面端工具的人&#xff0c;十有八九都遇到过这种情况&#xff1a;双击图标&#xff0c;转圈&#xff0c;等三五秒&#xff0c;界面才慢悠悠弹出来&#xff1b;运气差一点&#xff0c;直接白屏十几秒&#xff0c;甚至弹一句“正在… · 2026/9/26 20:51:54

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介&#xff1a;万常选版《数据库原理与设计》课后习题答案资源&#xff0c;覆盖第2至6章及第9章&#xff0c;适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件&#xff0c;含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故&#xff0c;是很多团队绕不过去的坎。线上环境里&#xff0c;服务端明明已经上线了新版接口&#xff0c;老的移动端还在照着旧文档传参数。请求一到网关&#xff0c;校验直接拒绝&#xff0c;用户操作失败&#xff0c;客服群炸了锅&#xff0c;开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码