- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 【Pytorch学习笔记】模型模块09——VGG详解
创新价值首个证明网络深度显著提升精度的模型统一架构设计成为后续ResNet等模型的基线工程实践要点优先使用预训练模型加速开发全连接层参数过多,可替换为全局平均池化小数据集建议冻结卷积层+微调分类器局限与改进计算效率低于ResNet、MobileNet等新架构实际部署时可转换为全卷积网络减少计算量torchvision.models.vgg源码预训练权重配置。
2025-06-05 07:11:47
666
原创 【Pytorch学习笔记】模型模块08——AlexNet模型详解
数据预处理])# 加载数据集# 初始化模型model = AlexNet(num_classes=10) # 修改为CIFAR-10的10分类# 损失函数和优化器# 训练循环。
2025-06-03 21:59:32
1286
原创 【Pytorch学习笔记】模型模块07——hook实现Grad-CAM
Grad-CAM (Gradient-weighted Class Activation Mapping) 是一种用于可视化深度神经网络决策的技术,特别适用于CNN网络。它能够生成热力图来显示模型在做出特定预测时关注的图像区域。
2025-06-02 19:41:44
985
原创 【Pytorch学习笔记】模型模块06——hook函数
hook函数相当于插件,可以实现一些额外的功能,而又不改变主体代码。就像是把额外的功能挂在主体代码上,所有叫hook(钩子)。下面介绍Pytorch中的几种主要hook函数。
2025-06-02 16:01:20
1215
原创 【Pytorch学习笔记】模型模块05——Module常用函数
默认精度类型,32位浮点数,适用于大多数场景16位浮点数,可减少内存使用和计算时间Brain Floating Point,16位浮点数的变体,具有更好的数值稳定性64位浮点数,提供更高的精度,但消耗更多资源。
2025-05-31 13:17:41
749
原创 【Pytorch学习笔记】模型模块02——模型的容器
容器就是存放不同的网络层,以便于模型训练时按照一定的顺序和要求执行不同的网络层。Sequential是PyTorch中最常用的容器之一,它可以按顺序包含多个网络层,数据会按照添加层的顺序依次流过每一层。
2025-05-23 06:56:26
879
原创 【PyTorch学习笔记】 模型模块01——Module & Paramete介绍
parameter,即参数,它是Module中非常重要的一个对象,继承与Tensor,但是与常规的Tensor不一样,这个参数表示模型的权重和偏置,是可以通过反向传播算法去不断更新的。Module类是PyTorch中最重要的类,它提供了一种方式来创建和管理包含可训练参数的神经网络层。这种设计模式使得模型的使用非常简洁,用户只需要关注forward中的逻辑实现,而不需要关心底层的调用机制。Module是所有神经网络的基类,所有的模型必须继承与Module类。函数中把需要的网络层创建好。
2025-05-22 09:14:10
769
原创 【Pytorch学习笔记】数据模块05——编写自己的Dataset
编写自定义的Dataset类需要继承torch.utils.data.Dataset,并实现__init__、__len__和__getitem__三个方法。__init__用于初始化数据集和预处理,__len__返回数据集长度,__getitem__根据索引返回数据样本和标签。示例中,CustomImageDataset类加载图像文件夹中的图片,并应用可选的图像转换操作。使用DataLoader可以批量加载数据,并支持数据打乱。关键注意事项包括数据预处理、错误处理、内存管理和数据增强。通过扩展功能,如缓存
2025-05-21 07:19:48
847
原创 【Pytorch学习笔记】数据模块04——自动数据增强
Google Brain团队在《AutoAugment: Learning Augmentation Strategies from Data》论文中提出了一种自动搜索最佳数据增强策略组合的方法,通过RNN网络在ImageNet、CIFAR-10和SVHN数据集上取得了当时最优的结果。PyTorch已为这些数据集内置了基于AutoAugment的增强策略。AutoAugmentPolicy类提供了针对不同数据集优化的增强策略,用户可以根据数据集特点选择相应的策略,并结合基础转换使用。此外,RandAugme
2025-05-19 07:18:00
932
1
原创 【Pytorch学习笔记】数据模块03——Transforms-系列APIs
RandomChoice是一个转换方法,它允许从给定的转换列表中随机选择一个转换来应用。Lambda是一个灵活的转换方法,允许用户定义自定义的转换函数。RandomApply是一个转换方法,它以一定的概率应用给定的转换序列。Compose方法中各个变换方法是串联的,也就是说上个方法输出是下个方法的输入,这要求各个方法之间传输的数据对象要一致。需要注意:所有转换都会被应用,只是应用的顺序是随机的。需要注意的是,Lambda转换应该保持输入输出格式的一致性,以确保能够在转换流程中正常工作。
2025-05-18 16:44:08
1023
原创 【Pytorch学习笔记】数据模块02——数据集操作和Sampler
是在RandomSampler和SequentialSample之上封装的一个批抽取功能,如果需要shuffle,则传入RandomSampler,如果不需要打乱,则传入SequentialSampler。通常我们用的都是batch_sampler,其对应的是BatchSampler类。属性装饰器是Python中的一个特殊装饰器,它可以将一个方法转换为属性,使其能够像访问属性一样被调用,而不需要使用括号。这个采样器的主要作用是为数据加载提供随机的索引序列,是实现数据随机化的关键组件。
2025-05-18 09:42:20
1163
原创 【Pytorch学习笔记】数据模块01——Dataset和Dateloader
将数据读取,并预处理好,再提供给dataloader必须实现的两个函数getitem。
2025-05-17 16:48:30
1248
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人