
pytorch复现
文章平均质量分 92
PyTorch进行深度学习相关网络复现
夏天是冰红茶
目前正在考研,今年希望一次上岸
展开
-
适合初学者的深度学习项目——基于Pytorch的图像分类系统
一个基于pytorch的分类训练模版此项目提供了一个清晰且高效的基于PyTorch的图像分类训练模板,旨在简化二分类和多分类任务的实现过程。无论是初学者还是有一定经验的开发者,都可以通过这个模板快速上手并构建自己的图像分类模型。二分类和多分类:每个样本只能属于一个类别。二分类是特殊的多分类任务,类别数为2。多分类通过softmax来选择一个最可能的类别。多标签:每个样本可以同时属于多个类别,每个标签的预测是独立的,通常需要sigmoid输出每个标签的概率值。原创 2025-02-18 19:48:52 · 1133 阅读 · 0 评论 -
Swin Transformer模型详解
Swin Transformer(Shifted Window Transformer)是一种新颖的视觉Transformer模型,在2021年由微软亚洲研究院提出。这一模型提出了一种基于局部窗口的自注意力机制,显著改善了Vision Transformer(ViT)在处理高分辨率图像时的性能,尤其是在图像分类、物体检测等计算机视觉任务中表现出色。Swin Transformer的最大创新之一是其引入了“平移窗口”机制,克服了传统自注意力方法在大图像处理时计算资源消耗过大的问题。原创 2025-01-09 15:24:11 · 2558 阅读 · 5 评论 -
Vision Transformer模型详解
最近,我在学习Transformer模型在图像领域的应用。图像处理任务一直以来都是深度学习领域的重要研究方向,而传统的卷积神经网络已在许多任务中取得了显著的成绩。然而,近年来,Transformer模型由于其在自然语言处理中的成功,逐渐被引入到计算机视觉领域。Vision Transformer(ViT)是应用Transformer架构于图像分类任务的一个重要突破,它证明了Transformer在视觉任务中的潜力。虽然我这里实现的可以进行图像分类训练,但对于大多数实际应用,我还是推荐使用官方实现的代码模型,原创 2025-01-05 19:00:21 · 2012 阅读 · 0 评论 -
Xception模型详解
Xception的名称源自于"Extreme Inception",它是在Inception架构的基础上进行了扩展和改进。Inception架构是Google团队提出的一种经典的卷积神经网络架构,用于解决深度卷积神经网络中的计算和参数增长问题。与Inception不同,Xception的主要创新在于使用了深度可分离卷积(Depthwise Separable Convolution)来替代传统的卷积操作。深度可分离卷积将卷积操作分解为两个步骤:深度卷积和逐点卷积。Xception的pytorch代码实现原创 2024-04-01 16:01:06 · 5430 阅读 · 8 评论 -
ShuffleNet模型详解
ShuffleNet 是专门为计算能力非常有限的移动设备设计的。架构采用了逐点分组卷积和通道shuffle两种新的运算,在保持精度的同时大大降低了计算成本。ShuffleNet 比 MobileNet 在 ImageNet 分类任务上的 top-1误差更低 (绝对7.8%) ,在基于arm的移动设备上,ShuffleNet比AlexNet实现了约13倍的实际加速,同时保持了相当的准确性。原创 2024-03-22 23:54:18 · 1751 阅读 · 0 评论 -
CBAM注意力机制详解
CBAM(Convolutional Block Attention Module)是一种卷积神经网络模块,旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块:通道注意力模块和空间注意力模块。通过在深度网络的每个卷积块中自适应地优化中间特征图,CBAM通过强调通道和空间维度上的有意义特征,实现了对关键信息的关注和不必要信息的抑制。研究表明,CBAM在ImageNet-1K数据集上能够显著提高各种基线网络的准确性,通过grad-CAM可视化验证,CBAM增强的网络能够更准确地关注目标对象。原创 2024-02-29 15:33:37 · 10493 阅读 · 2 评论 -
FasterNet模型详解
部分卷积与FasterNet模型详解,为了设计快速神经网络,很多工作都集中于减少浮点运算(FLOPs)的数量上面,但是作者发现FLOPs的减少不一定会带来延迟的类似程度的减少。这源于每秒低浮点运算(FLOPs)的效率低下,而这源于FLOPs的运算符频繁访问内存,尤其是深度卷积,因此,提出了Partial Convolution,通过同时减少冗余计算和内存访问可以更有效地提取空间特征。并以此提出了FasterNet。原创 2024-02-27 23:52:43 · 7961 阅读 · 6 评论 -
从MobileNetv1到MobileNetv3模型详解
MobileNet系列包括V1、V2和V3,专注于轻量级神经网络。MobileNetV1采用深度可分离卷积,MobileNetV2引入倒残差模块,提高准确性。MobileNetV3引入更多设计元素,如可变形卷积和Squeeze-and-Excitation模块,平衡计算效率和准确性。这三个系列在移动设备和嵌入式系统上取得成功,为资源受限的环境提供高效的深度学习解决方案。mobilenetv1,mobilenetv2,mobilenetv3模型的pytorch实现与讲解。原创 2024-02-17 00:58:43 · 2581 阅读 · 3 评论 -
SqueezeNet模型详解
SqueezeNet相对于传统的深层CNN模型,如VGG或ResNet,具有更小的模型大小和更少的参数,但在一些任务上仍能取得不错的性能。这使得SqueezeNet成为在资源受限环境中进行实时图像分类等应用的有力选择。目前我也是在学习的阶段,学习这一部分也是为了积累轻量化模型的方法,因为因为轻量化模型在移动设备、嵌入式系统以及一些资源受限的环境中都具有重要的应用价值。原创 2024-02-01 02:11:52 · 2262 阅读 · 0 评论 -
GoogLeNet模型详解
GoogLeNet是谷歌工程师设计的深度神经网络结构,于2014年在ImageNet比赛中取得了冠军。它的设计特点在于既有深度,又在横向上拥有“宽度”,并采用了一种名为Inception的核心子网络结构。这个网络名字中的“GoogLeNet”是对LeNet的致敬,LeNet是早期由Yann LeCun设计的卷积神经网络。原创 2024-01-28 20:02:17 · 2601 阅读 · 0 评论 -
损失函数详细复现(pytorch版本)
损失函数(Loss Function)是在机器学习和深度学习中用于评估模型预测结果与实际标签之间差异的函数。它衡量了模型的性能,即模型对训练样本的预测与实际标签的偏差程度。目标是通过调整模型参数,使损失函数的值最小化,从而提高模型的准确性和泛化能力。原创 2024-01-25 19:54:13 · 1272 阅读 · 0 评论 -
SE通道注意力机制详解
SE(Squeeze-and-Excitation)模块是一种引入通道注意力机制的方法,旨在让神经网络更加关注对当前任务重要的特征。首先是Squeeze操作,通过聚合跨空间维度(H × W)的特征映射来产生通道描述符,怎么理解呢?假设有一个输入的特征映射,它的维度是H × W × C,对于每个通道,执行全局平均池化操作,具体来说,对于第i个通道,计算该通道上所有空间位置的平均值。通过学习,全连接层得到的通道权重经过一个Sigmoid激活函数,将其范围限制在0到1之间。ResNet与SE-ResNet分类性能原创 2024-01-23 19:47:55 · 6593 阅读 · 0 评论 -
Haar小波下采样模块
深度卷积神经网络 (DCNN) 通常采用标准的下采样操作,例如最大池化、平均池化和跨步卷积,这可能会导致信息丢失。丢失的信息,如边界和纹理,对于语义分割可能是必不可少的。通过跳过连接到解码器子网(如U-Net、LCU-Net、CENet、LinkNet和RefineNet )。提取具有空间金字塔池化或扩展卷积的多尺度特征图到融合模块中(如DeepLab、PSPNet、PCPLP-Net、BiSenet和ICNet)。下面是我做实验的代码,感兴趣的可以在自己的数据上面进行实验,我觉得用于交通和医学上应该会有比原创 2024-01-22 23:08:52 · 10791 阅读 · 25 评论 -
Pytorch将标签转为One-Hot编码
Pytorch将标签转为One-Hot编码。先进行标签映射,要为每个分类建立一个整数索引,对于每个样本的标签,使用整数索引创建一个长度为类别总数的二进制向量。这个向量的所有元素都是0,除了与整数索引相对应的位置,该位置的值为1。应用于分割网络当中,在保留输入标签张量形状的同时,将独热编码张量的最后一个维度设置为分类数num_classes,确保独热编码张量与输入标签张量具有相同的形状。原创 2024-01-11 01:55:37 · 2547 阅读 · 0 评论 -
模型的权值平均的原理和Pytorch的实现
模型权值平均是一种用于改善深度神经网络泛化性能的技术。通过对训练过程中不同时间步的模型权值进行平均,可以得到更宽的极值点(optima)并提高模型的泛化能力。首先介绍指数移动平均(EMA)方法,它使用一个衰减系数来平衡当前权值和先前平均权值。其次,介绍了随机加权平均(SWA)方法,它通过将当前权值与先前平均权值进行加权平均来更新权值。最后,介绍了Tanh自适应指数移动EMA算法(T_ADEMA),它使用Tanh函数来调整衰减系数,以更好地适应训练过程中的不同阶段。我还在ResNet18模型上进行了简单的实验原创 2024-01-10 18:02:02 · 1910 阅读 · 1 评论 -
Conv2Former模型详解(一种transformer风格的卷积特征提取方式)
Conv2Former,这是一种新型的卷积神经网络架构,其核心是卷积调制操作,通过卷积和Hadamard乘积简化了自注意力机制。在ImageNet分类、目标检测和语义分割任务中,Conv2Former相对于先前的CNN和Transformer模型表现更优。作者强调了对大内核卷积的更有效利用,如何将提出的卷积调制块与Transformer结合起来,这是将来的研究方向。原创 2024-01-01 12:12:15 · 2491 阅读 · 0 评论 -
GhostNet模型详解
简要论述GhostNet的核心内容。在训练良好的深度神经网络的特征图中,丰富甚至冗余的信息通常保证了对输入数据的全面理解。上图是ResNet-50中第一个残差组生成的一些特征图的可视化,其中三个相似的特征图对样例用相同颜色的方框标注。其中存在许多相似的特征图对,就像一个幽灵一样。其中一个特征映射可以通过简单的操作(用扳手表示)对另一个特征映射进行变换近似得到。作者认为特征映射中的冗余是一个成功的深度神经网络的重要特征,而不是避免冗余的特征映射,更倾向于采用它们,但以一种经济有效的方式。原创 2023-10-05 19:06:38 · 4651 阅读 · 2 评论 -
多分类中混淆矩阵的TP,TN,FN,FP计算
创建混淆矩阵# 寻找GT中为目标的像素索引# 统计像素真实类别t[k]被预测成类别p[k]的个数@property"""计算混淆矩阵的TN, FP, FN, TP"""if n == 2:if n > 2:"""主要在eval的时候使用,你可以调用ravel获得TN, FP, FN, TP, 进行其他指标的计算计算全局预测准确率(混淆矩阵的对角线为预测正确的个数)计算每个类别的准确率计算每个类别预测与真实目标的iou,IoU = TP / (TP + FP + FN)"""原创 2023-09-16 23:25:10 · 7270 阅读 · 1 评论 -
混淆矩阵细致理解
混淆矩阵(Confusion Matrix)是深度学习和机器学习领域中的一个重要工具,用于评估分类模型的性能。它提供了一个清晰的视觉方式来展示模型的预测结果与真实标签之间的关系,尤其在分类任务中,帮助我们了解模型的强项和弱点。模型正确地预测了正类别的样本数量。模型正确地预测了负类别的样本数量。模型错误地将负类别的样本预测为正类别的数量。模型错误地将正类别的样本预测为负类别的数量。你可以选择看我之前写过的这一篇。其实很好理解,比如TP,它就是正确的预测了正确的样本,FP就是错误的预测为了正确的样本。原创 2023-09-16 00:14:58 · 3514 阅读 · 0 评论 -
Densenet模型详解
DenseNet的主要思想是密集连接,它在卷积神经网络(CNN)中引入了密集块(Dense Block),在这些块中,每个层都与前面所有层直接连接。这种设计可以让信息更快速地传播,有助于解决梯度消失的问题,同时也能够增加网络的参数共享,减少参数量,提高模型的效率和性能。原创 2023-08-25 18:17:26 · 4840 阅读 · 0 评论 -
Resnet模型详解
Resnet是一种深度神经网络架构,被广泛用于计算机视觉任务,特别是图像分类。它是由微软研究院的研究员于2015年提出的,是深度学习领域的重要里程碑之一。原创 2023-08-24 16:10:34 · 12686 阅读 · 0 评论 -
VGG16模型详解
VGG16作为深度学习发展历程中的重要里程碑,强调了通过增加网络深度和一致性设计来提取图像特征。它的成功启发了后续更复杂的网络架构和方法,并在图像分类等任务中取得了重要成就。通过研究和实践,我们可以更好地理解VGG16的原理,并将其应用于实际问题中。VGG16是一种深度卷积神经网络,由牛津大学的研究团队于2014年开发。原创 2023-08-09 17:08:33 · 7016 阅读 · 0 评论