【动手学习pytorch笔记】11.AlexNet分类fashion_mnist

卷积神经网络(AlexNet)识别Fashion-MNIST数据集(Pytorch版) 卷积神经网络(AlexNet)识别Fashion-MNIST数据集(Pytorch版)1. 前言1.1 案例介绍1.2 环境配置1.3 模块导入2. 图像数据准备2.1 训练验证集的准备2.2 测试集的准备3. 卷积神经网络的搭建4. 卷积神经网络训练与预测5. 运行程序 1. 前言 1.1 案例介绍 本案例使用Pytorch搭建一个稍微简化的AlexNet网络结构,用于Fashion-MNIST数据集的图像分类。针对该问题的分析可以分为数据准备、模型建立以及使用训练集进行训练和使用测试集测试模型的效果。 阅读详情

AlexNet

模型结构

在这里插入图片描述

左侧LeNet,右侧AlexNet。形式上是差不多的,但模型大小大了很多,量变产生了质变,花了人类20年的时间。

import torch
from torch import nn
from d2l import torch as d2l

net = nn.Sequential(

    # 这里,我们使用一个11*11的更大窗口来捕捉对象。
    # 同时,步幅为4,以减少输出的高度和宽度。
    # 另外,输出通道的数目远大于LeNet
    nn.Conv2d(1, 96, kernel_size=11, stride=4, padding=1), nn.ReLU(),
    nn.MaxPool2d(kernel_size=3, stride=2),
    # 减小卷积窗口,使用填充为2来使得输入与输出的高和宽一致,且增大输出通道数
    nn.Conv2d(96, 256, kernel_size=5, padding=2), nn.ReLU(),
    nn.MaxPool2d(kernel_size=3, stride=2),
    # 使用三个连续的卷积层和较小的卷积窗口。
    # 除了最后的卷积层,输出通道的数量进一步增加。
    # 在前两个卷积层之后,汇聚层不用于减少输入的高度和宽度
    nn.Conv2d(256, 384, kernel_size=3, padding=1), nn.ReLU(),
    nn.Conv2d(384, 384, kernel_size=3, padding=1), nn.ReLU(),
    nn.Conv2d(384, 256, kernel_size=3, padding=1), nn.ReLU(),
    nn.MaxPool2d(kernel_size=3, stride=2),
    nn.Flatten(),
    # 这里,全连接层的输出数量是LeNet中的好几倍。使用dropout层来减轻过拟合
    nn.Linear(6400, 4096), nn.ReLU(),
    nn.Dropout(p=0.5),
    nn.Linear(4096, 4096), nn.ReLU(),
    nn.Dropout(p=0.5),
    # 最后是输出层。由于这里使用Fashion-MNIST,所以用类别数为10,而非论文中的1000
    nn.Linear(4096, 10))
看看每层情况
X = torch.randn(1, 1, 224, 224)
for layer in net:
    X=layer(X)
    print(layer.__class__.__name__,'output shape:\t',X.shape)
Conv2d output shape:	 torch.Size([1, 96, 54, 54])
ReLU output shape:	 torch.Size([1, 96, 54, 54])
MaxPool2d output shape:	 torch.Size([1, 96, 26, 26])
Conv2d output shape:	 torch.Size([1, 256, 26, 26])
ReLU output shape:	 torch.Size([1, 256, 26, 26])
MaxPool2d output shape:	 torch.Size([1, 256, 12, 12])
Conv2d output shape:	 torch.Size([1, 384, 12, 12])
ReLU output shape:	 torch.Size([1, 384, 12, 12])
Conv2d output shape:	 torch.Size([1, 384, 12, 12])
ReLU output shape:	 torch.Size([1, 384, 12, 12])
Conv2d output shape:	 torch.Size([1, 256, 12, 12])
ReLU output shape:	 torch.Size([1, 256, 12, 12])
MaxPool2d output shape:	 torch.Size([1, 256, 5, 5])
Flatten output shape:	 torch.Size([1, 6400])
Linear output shape:	 torch.Size([1, 4096])
ReLU output shape:	 torch.Size([1, 4096])
Dropout output shape:	 torch.Size([1, 4096])
Linear output shape:	 torch.Size([1, 4096])
ReLU output shape:	 torch.Size([1, 4096])
Dropout output shape:	 torch.Size([1, 4096])
Linear output shape:	 torch.Size([1, 10])

还是使用fashion_mnist数据集(杀鸡用牛刀了属于是)。咱只是看看AlexNet的结构,ImageNet咱跑不动

batch_size = 128
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)
训练
lr, num_epochs = 0.01, 10
d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())

在这里插入图片描述

PyTorch——AlexNet实现(附完整代码) 参考链接 https://tangshusen.me/Dive-into-DL-PyTorch/#/chapter05_CNN/5.6_alexnet AlexNet网络结构 AlexNet v.s. LeNet 第一,与相对较小的LeNet相比,AlexNet包含8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。 lexNet第一层中的卷积窗口形状是11×11。因为ImageNet中绝大多数图像的高和宽均比MNIST图像的高和宽大10倍以上,ImageNet图像的物体占用更多的像素, 阅读详情

相关推荐

PyTorch入门项目之卷积神经网络实现Fashion-MNIST图像分类(详细注释!)

文章目录前言一、具体步骤1.引入相关库2.超参数设置3.数据集准备4.网络搭建5.训练设置6.训练过程7.测试过程8.保存模型9.画出accuracy and loss曲线总结 前言 PyTorch目前是学界最流行的深度学习框架之一,作为研究生对各个框架都要有一定的熟练度。然而,对于已经有了深度学习基础的学生而言,急需一个小项目学习练手。但网上讲授Torch视频教程太长,大部分可能没有这个耐心看下去,所以我记录了我初次使用torch的一个全流程的训练步骤:导入包、数据集准备、网络搭建、训练、测试、准确率打

x_y_z001的博客 3694

基于AlexNet的神经网络(完整改进版)

(2)使用nn.ModuleDict(),该方法在前向传播时书写比较复杂,但是灵活度很高,每一个层都可以复用,这在构建模块化的一些诸如mlp或者是残差块的时候,优势很明显。使用writer.add_scalars()添加了train_loss,test_loss,train_accuracy,test_accuracy数据。在train_test函数里,model.train()表示训练模式,model.eval()表示验证模式。9、超参数,损失函数,优化器设置。1、需要的库函数,如下。

m0_74916875的博客 693

AlexNet分类Fashi-MNIST(Pytorch实现)

欢迎访问我的博客:konosuba.xyz 这个notebook也同时发表在Kaggle上 Fashion MNIST数据集 Label Class 0 T-shirt/top 1 Trouser 2 Pullover 3 Dress 4 Coat 5 Sandal 6 Shirt 7 Sneaker 8 Bag 9 Ankle boot ...

Tiiktak‘s 1219

基于Cifar100数据Alexnet改进 (tensorflow版本)

【代码】基于Cifar100数据Alexnet改进 (tensorflow版本)

chwei20002005的博客 681

李沐老师动手深度学习pytorch版本的读取fashion_mnist数据并用AlexNet模型训练,其中修改为利用本地的数据集训练

李沐老师动手深度学习pytorch版本读取fashion_mnist数据并使用AlexNet训练,修改为本地的数据集训练

weixin_44628096的博客 1359

使用 PyTorch 实现并测试 AlexNet 模型,并使用 TensorRT 进行推理加速

本篇文章详细介绍了如何使用 PyTorch 实现经典卷积神经网络 AlexNet,并利用 Fashion-MNIST 数据集进行训练与测试。在训练完成后,通过 TensorRT 进行推理加速,以提升模型的推理效率。

超大青花鱼的博客 1144

【CNN】深度卷积神经网络(AlexNet)是什么?如何实现AlexNet?

本文主要是介绍卷积神经网络中的深度卷积神经网络(AlexNet),它包含对深度卷积神经网络(AlexNet)一个简单的介绍,以及如何实现LeNet?读完这篇文章,你会对卷积神经网络(LeNet)有个基本的了解。

m0_51816252的博客 7692

基于改进AlexNet的人脸表情识别

人脸表情会受到姿势、物体遮挡、光照变化以及人种性别年龄等因素的影响,需要卷积神经网络更有效准确地学习特征。AlexNet在表情识别中准确率不高,对输入图像尺寸有限制,针对这些问题,提出了改进AlexNet网络的人脸表情识别算法。在AlexNet网络中引入多尺度卷积更加适用于小尺寸的表情图像,提取出不同尺度的特征信息,并在把多个低层次特征信息在向下传递的同时与高层次特征信息进行跨连接特征融合,从而可以更加完整准确地反映图像信息,构造出更准确的分类器。跨连接会产生参数爆炸,导致网络训练困难,影响识别效果,因此利用全局平均池化对低层次特征信息进行降维,可减少跨连接产生的参数和过拟合现象。本文算法在CK+、JAFFE数据库上的准确率分别为94.25%和93.02%。

AlexNet改进之处

来源于李沫的课,做一个笔记。 AlexNet赢得了2012年ImageNet竞赛。 本质上是一个更深更大的LeNet,与LeNet在架构上上没有太多本质的区别。 主要改进是:加入了丢弃法。它的激活函数从LeNet的sigmoid变成了ReLu。LeNet主要用的是平均池化,AlexNet用的最大池化。丢弃法是做模型的控制,因为模型更大了所以会用丢弃法做正则。Relu与sigmoid相比梯度更大,Relu在零点处的一阶导更加好,能支持更好的...

菜鸡小陈的博客 1358

NLP实战:如何用CoNLL-2003数据集快速提升命名实体识别模型性能(附完整代码)

本文详细介绍了如何利用CoNLL-2003公开数据集,通过深度剖析数据特点、构建鲁棒的数据预处理流水线、选择合适的模型架构(如BERT-CRF)以及优化训练策略,来系统性地提升命名实体识别(NER)模型的性能。文章提供了完整的代码示例,并分享了处理数据不均衡、标签对齐等核心挑战的实战技巧,帮助读者从理论到实践全面掌握NER任务。

cola5的博客 494

学习 Bootstrap 5 之 Tables

学习 Bootstrap 5 之 表格表格 (Tables)1. 创建表格(1). 使用原生的表格标签(2). 使用Bootstrap 5 的提供的表格标签类(3). 原生与Bootstrap创建出来的表格的对比2. 表格样式(1). 表格样式的效果(2). 表格样式的使用1). 用于 <table> 标签2). 用于 <thead> <tbody> <tfoot> 标签 表格 (Tables) 1. 创建表格 (1). 使用原生的表格标签 <tabl

qq_37354060的博客 2130

炒冷饭-Alexnet、vggnet、Google Inception Net、resNet、resnet后续改进

一、前言      本篇转载自 https://blog.csdn.net/m0_37733057/article/details/70232378 , 文章对经典的深度神经网络的发展做了一些概括,另外这里也加了一些补充说明 二、Alexnet     AlexNet是现代深度CNN的奠基之作。2012年,Hinton的学生Alex Krizhevsky提出了深度卷积神经网络模型AlexNe...

AP1005834的博客 1819

3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换

本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。

q1w3e5r7t9y的博客 274

Pytorch 基于AlexNet的服饰识别(使用Fashion-MNIST数据集)

Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。的大小、格式和训练集/测试集划分与原始的MNIST完全一致。的训练测试数据划分,28x28的灰度图片。AlexNet 是2012年 ImageNet 竞赛冠军获得者 Hinton 和他的学生 Alex Krizhevsky 设计的。AlexNet 中包含了几个比较新的技术点,也首次在 CNN 中成功应用了 ReLU

小嗷犬的博客 3248

【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果(2025/12/11补充)

如果我们视角移动转向,武器如果不跟着进行摇摆,会感觉我们的动作很生硬,特别是射击类游戏,如下实现武器摇摆这里主要分享两种实现方法,一种是改变武器位置,一种是修改武器旋转想要使用哪种方法都可以,看你自己喜欢,如果是我,我会选择第二种,比较简单,参数也少,而且个人感觉效果也更好,已枪中心做旋转更符合现实。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1470

HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:安全测试

通过对HarmonyOS应用生命周期建模和应用攻击面建模,采用静态数据流分析技术,提高漏洞发现的准确率,同时覆盖20余种攻击面,65+漏洞测试项,帮助开发者提前发现和识别漏洞隐患。在检测报告中,会针对每一项漏洞风险项给出明确的修复建议,可以帮助开发者快速修复漏洞。

斌擎科技 1182

使用PyTorch实现AlexNet并在Fashion-MNIST上训练(完整代码与结果分析)

AlexNet是深度学习领域的经典卷积神经网络模型。本文基于PyTorch实现了AlexNet的简化版本,并在Fashion-MNIST数据集上进行训练与测试。代码包含模型构建、数据预处理、训练过程及可视化结果,最终测试准确率达83.9%。本文完整实现了AlexNet在Fashion-MNIST上的训练流程,模型测试准确率达83.9%。读者可通过调整超参数或添加数据增强进一步提升性能。完整代码如下,可直接在GPU环境中运行。注:实际训练结果可能因硬件环境略有差异,建议在GPU环境下运行以获得最佳性能。

m0_74824642的博客 1850

PyTorch深度学习实战(7)——批大小对神经网络训练的影响

在神经网络中,批( batch )是指一次输入网络进行训练或推断的一组样本。批处理( batch processing )是指将这一组样本同时输入网络进行计算的操作。本节中首先介绍批( Batch )的基本概念,并且介绍批大小在神经网络训练过程中的影响。

盼小辉丶的博客 1万+

【深度学习】:《PyTorch入门到项目实战》卷积神经网络2-5:LeNet、AlexNet、VGG

我们介绍了三种经典的卷积神经网络架构:`LeNet,AlexNet,VGG`。他们的共同思想都是使用卷积层来学习图片的空间信息,提取特征,最后使用全连接层转换到我们要的分类空间。 LeNet是首个成功应用在手写数字识别数据集上的深度卷积神经网络,只有2个卷积层、两个池化层和三个全连接层 AlexNet在LeNet基础上使用了更多更深的卷积层,在2012年的ImageNet比赛上一战成名,从此引领了深度学习的浪潮 VGG在AlexNet的基础上构建了一个非常深的卷积神经网络,通过堆叠多个VGG块实现

阿里云专家博主、数据科学领域优质创作者、统计er在读 1万+

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1145

nvidia系列教程-AGX-Orin基础环境搭建

NVIDIA Jetson AGX Orin 是一款功能强大的嵌入式AI平台,专为需要高性能和低功耗的边缘计算应用设计。无论是自动驾驶、机器人,还是智能监控系统,Jetson AGX Orin 都能为这些应用提供强大的计算能力。本篇博客将为大家详细介绍如何在AGX Orin(32GB)上搭建基础开发环境,包括系统安装、CUDA和cuDNN的配置等,帮助你快速上手这个强大的平台。架构: 搭载 56 个 Tensor Core 的 1792 核 NVIDIA Ampere c GPUCUDA Cores。

flypig has a dream! 2797

深度学习:AlexNet实现服装分类(Pytorch)

2012年,AlexNet横空出世。它首次证明了学习到的特征可以超越手工设计的特征。它一举打破了计算机视觉研究的现状。AlexNet使用了8层卷积神经网络,并以很大的优势赢得了2012年ImageNet图像识别挑战赛。AlexNet和LeNet的架构非常相似,如 图7.1.2所示。注意,这里我们提供了一个稍微精简版本的AlexNet,去除了当年需要两个小型GPU同时运算的设计特点。net = nn . Sequential(# 这里,我们使用一个11*11的更大窗口来捕捉对象。

Hanze的博客 2093

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

个人学习笔记6-1:动手学深度学习pytorch版-李沐

主要记录学习笔记,学习书目为李沐老师的《动手学习深度学习》 重预备知识开始记录。 开源书籍地址:https://zh-v2.d2l.ai/chapter_preface/index.htmll 李沐老师B站视频:https://space.bilibili.com/1567748478/channel/seriesdetail?sid=358497

浪子L的博客 1802

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

基于PyTorch复现CNN模型训练Fashion-MNIST数据集

基于PyTorch在Fashion-MNIST数据集上复现经典卷积神经网络模型,包括LeNet, AlexNet, VGGNet, InceptionNet 和 ResNet。

靠近光,追随光,成为光,发散光。 741

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

AlexNet: Imagenet classification with deep convolutional neural networks

1 前言 在之前的文章中我们多次谈到,如何有效的对输入数据进行特征提取,然后再将提取得到的特征输入到下游的任务模型中是深度学习中的一个重要研究方向。尤其是在图像处理这个领域中,自卷积操作问世以来,如何设计一个有效的卷积神经网络结构就成为了一个热门的研究点。研究者们通过设计不同架构的卷积网络来对输入的图像进行特征提取,都希望设计出的模型能够表现出强大的学习能力,以此来提高下游任务的精度。 在上一篇文章中, 笔者介绍了第一个经典的卷积神经网络LeNet5,在接下来的内容中笔者将开始介绍它的继任者AlexNet网

空字符 1175

PyTorch实现全连接神经网络进行Fashion-MNIST分类(附完整代码与训练结果)

定义全连接网络nn.Flatten(), # 将28x28图像展平为784维向量nn.Linear(784, 256), # 输入层到隐藏层nn.ReLU(), # 激活函数nn.Linear(256, 10) # 隐藏层到输出层# 权重初始化函数net.apply(init_weights) # 应用初始化net.to(device) # 转移至GPU(如果可用)

m0_74824642的博客 1265
上一篇: 【动手学习pytorch笔记】10.卷积神经网络LeNet分类fashion_mnist
下一篇: 【动手学习pytorch笔记】12.VGG
YMK_0
博客等级 码龄10年 78粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值