- 博客(216)
- 收藏
- 关注
原创 如何用更少的显存训练 PyTorch 模型
混合精度训练结合使用16位(FP16)和32位(FP32)浮点格式以保持模型精度。通过使用16位精度计算梯度,相比全32位精度计算,这一过程可大幅加快运算速度并显著减少显存占用。这种方法在显存或计算资源受限的场景下尤为实用。之所以采用混合精度而非低精度这一表述,是因为并非所有参数或运算都被转换为16位格式。实际上,
2025-05-04 10:32:33
1114
原创 深度学习中模型训练的过拟合与欠拟合问题
在机器学习和深度学习的模型训练中,过拟合和欠拟合是训练模型时常见的两种问题,它们会严重影响模型的泛化能力。一个好的训练模型,既要避免欠拟合,也要避免过拟合。解决过拟合和欠拟合问题是机器学习中的重要任务之一,需要通过合适的调整模型结构、优化算法和数据处理方法来寻找合适的平衡点,以获得更好的泛化性能。一、什么是过拟合(Overfitting)?过拟合是指模型在训练数据上表现得非常好,但在未见过的测试数据上表现很差的现象。换句话说,模型学习到了训练数据中的噪声和细节,而不仅仅是数据中的真实规律。
2025-05-01 15:32:16
1251
原创 深度学习框架:PyTorch使用教程 !!
PyTorch是由Facebook的人工智能研究团队开发的一款开源深度学习框架。与TensorFlow的静态图相比,PyTorch采用动态图机制(即运行时定义计算图),便于调试和开发复杂模型。内置强大的自动求导(Autograd)模块,可以自动计算梯度,极大简化了反向传播算法的实现。提供了张量(Tensor)运算、神经网络层(nn模块)、优化器(optim模块)等丰富的工具和函数,方便快速搭建各种模型。支持CUDA,可以方便地将数据和模型转移到GPU上加速运算。
2025-05-01 11:15:10
2564
原创 一文详解卷积神经网络中的卷积层和池化层原理 !!
卷积神经网络(Convolutional Neural Network,CNN)是深度学习神经网络经典形式之一,由于其计算过程中包含卷积运算,因此得名。卷积神经网络(CNN)通过使用卷积层来提取图像数据的局部特征,再通过池化层(Pooling Layer)来降低特征的空间维度,最后通过全连接层(Fully Connected Layer)进行分类或回归任务。CNN已经在图像识别、目标检测、图像生成和许多其他领域取得了显著的进展,成为了计算机视觉和深度学习研究的重要组成部分。
2025-04-21 16:46:53
2091
原创 深度学习中的 batch size 参数的设置技巧
批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练。1个iteration等于使用batchsize个样本训练一次。1个epoch等于使用训练集中的全部样本训练一次。训练集有1000个样本,batchsize=10,那么训练完整个样本需要100次iteration,1次epoch。(1)batch数太小,而类别又比较多的时候,可能会导致loss函数震荡而不收敛,尤其是在网络比较复杂的时候。(2)随着batchsize增大,处理相同的数据量的速度越快。
2025-04-19 16:28:23
1354
原创 神经网络模型层数越多,模型的泛化能力越好吗?
神经网络的层数(深度)是模型复杂性的核心参数,直接影响其表示能力与泛化性能。本文从理论、实验和实际应用角度分析层数与泛化能力的关系,指出层数增加并不影必然导致泛化能力提升,而是需要平衡模型容量、数据规模与正则化策略。通过经典案例与最新研究,揭示深度学习的优化难题与泛化机制,为实践提供指导。
2025-04-19 11:03:50
708
原创 算力领域常用名词解释 —(2)
1. FP32(单精度浮点运算)每个数值占用32位内存,广泛应用于科学计算、图形渲染等需要较高精度的场景。它提供了良好的精度和动态范围,适用于大多数高性能计算任务。
2025-04-18 10:33:14
942
原创 算力领域常用名词解释 —(1)
本文系统地整理和解释了算力领域中常用的数十个关键名词,并按照以下维度进行了分类:基础概念、系统架构、硬件架构、基础运算类型、计算模式、相关软件架构与部署模式、浮点精度格式、算力类型、算力关联与服务、算力评估指标以及算力战略概念。
2025-04-17 15:27:18
694
原创 人工智能中的卷积神经网络(CNN)综述
卷积神经网络(Convolutional Neural Networks,CNN)是深度学习领域中最重要和广泛应用的模型之一。自20世纪80年代提出以来,CNN在图像处理、计算机视觉、自然语言处理等领域取得了显著的成功。本文旨在综述CNN的基本原理、发展历程、主要应用以及未来研究方向,并引用相关文献以支持论述。
2025-04-15 20:35:08
1090
原创 一文介绍关于多模态的基础知识 !!
多模态不再局限于单一类型的数据处理,它融合图像、文本和音频等多种信息源。其基础知识涵盖机器学习、深度学习及其在多模态领域的应用。机器学习部分包含分类、回归、聚类和降维等四类算法;深度学习则涉及CNN、RNN和Transformer等多种网络结构;而多模态应用领域则包括计算机视觉、自然语言处理和语音识别等方向。
2025-04-14 18:02:25
1159
原创 经典的十大神经网络模型
神经网络模型作为人工智能和深度学习领域的核心技术,近年来取得了突破性进展,推动了计算机视觉、自然语言处理、语音识别等领域的革新。以下介绍十大经典神经网络模型,涵盖其核心结构、创新点及应用场景。
2025-04-13 14:12:12
846
原创 一文搞懂 像素、特征和决策级融合 的区别 !!
在图像处理和计算机视觉领域,图像融合技术通过整合来自多个传感器或模型的信息,提高图像质量、特征提取和识别精度。根据融合的层次,图像融合可以分为三类:像素级融合、特征级融合和决策级融合。本文将详细介绍这三者的区别以及各自的优势和应用前景。
2025-04-11 12:09:28
1063
原创 什么是扩散模型(Diffusion Models)?为什么它们是图像生成的一大进步?
也许过去十年在计算机视觉和机器学习方面的突破是 GANs(生成对抗网络)的发明——这种方法引入了超越数据中已经存在的内容的可能性,是一个全新领域的敲门砖,现在称为生成式建模。然而,在经历了一个蓬勃发展的阶段后,GANs 开始面临平台期,其中大多数方法都在努力解决对抗性方法面临的一些瓶颈。这不是单个方法的问题,而是问题本身的对抗性。图像生成缺乏多样性模式崩溃多模态分布问题学习训练时间过长由于问题表述的对抗性,不容易训练。
2025-04-05 11:10:17
1012
原创 图像退化对目标检测的影响 !!
然而,目标检测算法的有效性很大程度上取决于输入图像的质量。图像退化是一个常见的问题,可能由低分辨率、噪声、模糊和压缩伪影等多种因素引起,严重阻碍目标检测系统的性能。本文深入探讨图像退化对目标检测的影响,分析其带来的挑战,并探索缓解这些影响的潜在解决方案。随着技术的进步,目标检测系统对图像退化的鲁棒性无疑将得到提高,从而拓宽其在不同领域中的应用范围和可靠性。在光与像素的复杂交织中,清晰与复杂相遇,目标检测的探索提醒我们,即使在一个数据充斥的世界中,图像中最微小的退化也可能在我们的数字成果中产生深远的影响。
2025-04-03 14:45:14
986
原创 一文搞懂 蒸馏、量化、MoE 和 MHA !!
通过以更少的位数表示浮点数据,模型量化可以减少模型尺寸,进而减少在推理时的内存消耗,并且在一些低精度运算较快的处理器上可以增加推理速度。软标签通常是教师模型的输出概率分布,它携带了更多的信息,例如类别之间的相似度,这使得学生模型能够在较少的数据和参数的情况下,学到更加丰富的知识。是一种在Transformer 模型中被广泛采用的注意力机制扩展形式,它通过并行地运行多个独立的注意力机制来获取输入序列的不同子空间的注意力分布,从而更全面地捕获序列中潜在的多种语义关联。这个大模型即为 “教师模型”。
2025-04-02 21:32:30
915
原创 特征提取:传统算法 VS 深度学习 !!
特征提取是计算机视觉领域经久不衰的研究热点,总的来说,快速、准确、鲁棒的特征点提取是实现上层任务基本要求。特征点是图像中梯度变化较为剧烈的像素,比如:角点、边缘等。FAST(Features from Accelerated Segment Test)是一种高速的角点检测算法;而尺度不变特征变换 SIFT(Scale-invariant feature transform)仍然可能是最著名的传统局部特征点。也是迄今使用最为广泛的一种特征。特征提取一般包含特征点检测和描述子计算两个过程。
2025-04-01 19:17:03
856
原创 图像处理:使用Numpy和OpenCV实现傅里叶和逆傅里叶变换
图像处理一般分为直接对图像内的像素进行处理的空间域处理和频率域处理。空间域处理主要划分为灰度变换和空间滤波两种形式。灰度变换是对图像内的单个像素进行处理,比如调节对比度和处理阈值等。空间滤波涉及图像质量的改变,例如图像平滑处理。空间域处理的计算简单方便,运算速度更快。频率域处理是先将图像变换到频率域,然后在频率域对图像进行处理,最后再通过反变换将图像从频率域变换到空间域。
2025-03-31 11:22:44
1778
2
原创 PyTorch 的十大核心操作总结 !!—(2)
在 PyTorch 中,通常通过创建一个自定义的数据集类来加载数据。自定义数据集需要继承自 torch.utils.data.Dataset,并实现 __len__ 和 __getitem__ 方法。
2025-03-29 14:52:16
796
原创 PyTorch 的十大核心操作总结 !!—(1)
可以通过继承 nn.Module 类创建自定义的神经网络层和操作,例如自定义的激活函数、损失函数等。这些功能使得 nn.Module 成为 PyTorch 中构建和组织神经网络的核心工具之一。通过模块化的设计,可以更灵活地搭建、训练和调整复杂的神经网络结构。可以通过继承 torch.optim.Optimizer 类来创建自定义的优化器。# 自定义的优化步骤...优化器是深度学习训练过程中关键的组件之一,选择适当的优化器和学习率策略对于模型的性能至关重要。
2025-03-28 19:56:23
992
原创 一文了解视觉Transformer解析 !!
自2017年“注意力就是一切”的理念问世以来,Transformer模型便迅速再自然语言处理(NLP)领域展露头角,确立了其领先地位。到了2021年,“一张图片等于16x16个单词”的理念成功将Transformer模型引入计算机视觉任务中。自此以后,众多基于Transformer的架构纷纷涌现,应用于计算机视觉领域。本文将详细介绍“一张图片等于16x16个单词”中阐述的Vision Transformer(ViT),包括其开源代码和对各组件的概念解释。所有代码均使用PyTorch Python实现。
2025-01-30 18:15:09
1012
原创 数据压缩的十种常用算法!!
另外,基于CNN的压缩还提升了JPEG图像的品质,因为它减少了峰值信噪比(PSNR)和结构相似性(SSIM)。LZMA算法,全称是Lempel-Ziv Markov chain Algorithm(LZMA),于1998年提出,是LZ77的改进版,旨在实现.7z格式的7-ZIp文件归档。这个算法目标是成为LZ77的一个线性时间替换算法,但编码后Udell指针可能指向文件的任意偏移量,意味着需要耗费可观的内存,因此表现不如LZ77。它的原理是消除不必要的数据或以更高效的格式重新组织数据。
2024-12-31 17:10:02
2468
原创 一文搞懂卷积核的基本概况 !!
在卷积神经网络里,卷积核其实就是一个过滤器,但在深度学习里,它不做反转,而是直接执行逐元素的乘法和加法,我们把这个又称为互相关,在深度学习里称为卷积。
2024-11-07 16:26:15
3142
1
原创 7大类卷积神经网络(CNN)创新综述
深度卷积神经网络(CNN)是一种特殊类型的神经网络,在各种竞赛基准上表现出了当前最优结果。深度 CNN 的超强学习能力主要是通过使用多个非线性特征提取阶段实现的,这些阶段能够从数据中自动学习分层表征。大量数据的可用性和硬件处理单元的改进加速了 CNN 的研究,最近也报道了非常有趣的深度 CNN 架构。近来,深度 CNN 架构在挑战性基准任务比赛中实现的高性能表明,创新的架构理念以及参数优化可以提高 CNN 在各种视觉相关任务上的性能。
2024-10-24 09:30:00
1716
原创 一文搞懂 PyTorch 中的 torch.nn模块 !!
在深度学习领域,PyTorch是一个非常流行的框架,而 torch.nn 模块是PyTorch中用于构建神经网络的核心模块。
2024-10-18 17:23:25
1229
原创 深度学习500问——Chapter17:模型压缩及移动端部署(5)
所谓的 channel split 其实就是将通道数一分为2,化成两分支来代替原先的分组卷积结构(G2),并且每个分支中的卷积层都是保持输入输出通道数相同(G1),其中一个分支不采取任何操作减少基本单元数(G3),最后使用了 concat 代替原来的 elementy-wise add,并且后面不加 ReLU 直接(G4),再加入channle shuffle 来增加通道之间的信息交流。深度卷积的传统实现是每次都在卷积核元素上迭代,然后将一个卷积核行和一个输入行的结果累加到输出行。
2024-10-18 11:06:47
879
原创 一文搞懂像素、特征和决策级融合的区别 !!
在图像处理和计算机视觉领域,图像融合技术通过整合来自多个传感器或模型的信息,提高图像质量、特征提取和识别精度。根据融合的层次,图像融合可以分为三类:像素级融合、特征级融合和决策级融合。本文将详细介绍这三者的区别以及各自的优势和应用场景。
2024-10-17 15:52:52
2714
2
原创 深度学习500问——Chapter17:模型压缩及移动端部署(4)
ResNet中的Residuals block先经过1*1的Conv layer,把feature map的通道数降下来,再经过3*3 Conv layer,最后经过一个1*1的Conv layer,将feature map通道数再“扩张”回去。即采用先压缩,后扩张的方式。增多3*3的卷积的分支的数量,使它与1*1的卷积的输出通道数相等,此时每个3*3的卷积只作用与一个通道的特征图上,作者称之为“极致的Inception(Extream Inception)”模块,这就是Xception的基本模块。
2024-10-10 16:17:01
837
原创 深度学习500问——Chapter17:模型压缩及移动端部署(3)
Group convolution是将输入特征对维度c1分为g份,每个group对应的channel数为 c1/g,特征维度 H*W*c1/g,每个group对应对卷积核对维度也相应发生改变为 h1*w1*c1/g,共 c2/g个;如果在相同的FLOPs时,group卷积为了满足FLOPs会是使用更多的channels,可以提高模型的精度。,等式成立的条件是c1=c2,也就是输入特征通道数和输出特征通道数相等时,在给定FLOPs前提下,MAC达到取值的下界。卷积核的维度为 h1*w1*c1,共c2个;
2024-10-01 09:30:00
886
原创 深度学习500问——Chapter17:模型压缩及移动端部署(2)
大型网络通常是在量级较大的数据集上训练完成的,比如,在ImageNet上训练的模型具备对1000类物体的分类,但在一些具体场景的应用中,可能仅需要一个能识别其中几类的小型模型。目前,对各类深度网络压缩算法的评价是比较零碎的,侧重于和被压缩的大型网络在参数量和运行时间上的比较。深度网络的最终结果是由全部的权重参数共同作用形成的,目前,关于单个卷积核/卷积核权重的重要性的度量仍然是比较简单的方式。学生网络的结构构造目前仍然是由人工指定的,然而,不同的学生我网络结构的训练难度不同,最终能够达到的效果也有差异。
2024-09-30 10:47:42
948
原创 深度学习500问——Chapter17:模型压缩及移动端部署(1)
深度神经网络在人工智能的应用中,包括语音识别、计算机视觉、自然语言处理等各方面,在取得巨大成功的同时,这些深度神经网络需要巨大的计算开销和内存开销,严重阻碍了资源受限下的使用。本章总结了模型压缩、加速一般原理和方法,以及在移动端如何部署。
2024-09-29 15:42:54
887
原创 深度学习500问——Chapter15:异构计算,GPU和框架选型(2)
针对硬件厂商来说,比如NVIDIA,对各个操作系统的支持都是比较好的,比如WIndows系列,Linux系列,但是由于Linux系统对专业技术人员比较友好,所以目前几乎所有的深度学习系统构建都是基于Linux的,比较常用的系统如Ubuntu系列,CentOS系列等等。(3)熟悉Linux,不熟悉深度学习理论,毫无疑问,强烈推荐使用Linux系统,安装软件简单,工作效率高,总之一句话,如果不熟悉Linux,就先慢慢熟悉,最终还是要回归到Linux系统来构建深度学习系统。内存带宽通常相对固定,选择空间较小。
2024-09-26 18:08:15
1052
原创 深度学习500问——Chapter15:异构计算,GPU和框架选型(1)
异构计算是基于一个更加朴素的概念,“异构现象”,也就是不同计算平台之间,由于硬件结构(包括计算核心和内存),指令集和底层软件实现等方面的不同而有着不同的特性。异构计算就是使用结合了两个或者多个不同的计算平台,并进行协同运算。比如,比较常见的,在深度学习和机器学习中已经比较成熟的架构:CPU和GPU的异构计算;此外还有比较新的Google推出的协处理器(TPU),根据目的而定制的ASIC,可编程的FPGA等也都是现在在异构计算中使用比较多的协处理器。
2024-09-26 13:47:27
1570
原创 深度学习500问——Chapter14:超参数调整(3)
一、优秀的数据预处理;二、合适的模型结构和功能;三、优秀的训练策略和超参数;四、合适的后处理操作;五、严格的结果分析。这几方面都对最终的结果有着举足轻重的影响,这也是目前的数据工程师和学者们的主要工作。但由于这每一方面都十分繁琐,尤其是在构建模型和训练模型上,而大部分情况下,这些工作有无须过深专业知识就能使用起来。所以AutoML主要的作用就是来帮助实现高效的模型构建和超参数调整。例如深度学习网络的架构搜索、超参数的重要性分析等等。
2024-09-24 17:27:50
1155
原创 深度学习500问——Chapter14:超参数调整(2)
微调(fine-tune),顾名思义指稍微调整参数即可得到优秀的性能,是迁移学习的一种实现方式。微调和从头训练(train from scratch)的本质区别在于模型参数的初始化,train from scratch通常指对网络各类参数进行随机初始化(当然随机初始化也存在一定技巧),随机初始化模型通常不具有任何预测能力,通常需要大量的数据或者特定域的数据进行从零开始的训练,这样需要训练到优秀的模型通常是稍困难的。
2024-09-22 14:51:38
797
原创 深度学习500问——Chapter14:超参数调整(1)
关于训练深度学习模型最难的事情之一是你要处理的参数的数量。无论是从网络本身的层宽(宽度)、层数(深度)、连接方式,还是损失函数的超参数设计和调试,亦或者是学习率、批样本数量、优化器参数等等。这些大量的参数都会有网络模型最终的有效容限直接或间接的影响。面对如此众多的参数,如果我们要一一对其优化调整,所需的无论是时间、资源都是不切实际的。结果证实一些超参数比其他的更为重要,因此认识各个超参数的作用和其可能会造成的影响是深度学习训练中必不可少的一项重要技能。超参数调整。
2024-09-17 11:55:22
2101
原创 深度学习500问——Chapter13:优化算法(3)
这个问题出现总会和模型过拟合表现很相似,即在训练集上能体现非常不错的性能,但在测试集上表现总是差强人意,区别在于如果遇到的是数据不匹配的问题,通常在用一批和训练集有着相同或者相似分布的数据上仍然能取得不错的结果。而不同类型的模型,在不同数据上的优化成本都可能不一样,所以在探索模型时需要尽可能挑选优化简单,训练效率更高的模型进行训练。 1、提高模型的结构,比如增加神经网络的层数,或者将简单的神经元单位换成复杂的 LSTM 神经元,比如在自然语言处理领域内,利用 LSTM 模型挖掘语法分析的优势。
2024-09-10 18:44:10
1228
原创 深度学习500问——Chapter13:优化算法(2)
训练、验证、测试集在机器学习领域是非常重要的三个内容。三者共同组成了整个项目的性能的上限和走向。训练集:用于模型训练的样本集合,样本占用量是最大的;验证集:用于训练过程中的模型性能评价,跟着性能评价才能更好的调参;测试集:用于最终模型的一次最终评价,直接反应了模型的性能。在划分上,可以分两种情况:1、在样本量有限的情况下,有时候会把验证集和测试集合并。实际中,若划分为三类,那么训练集:验证集:测试集=6:2:2;若是两类,则训练集:验证集=7:3。
2024-08-29 16:33:24
862
原创 深度学习500问——Chapter13:优化算法(1)
目前大部分的深度学习模型仍然需要海量的数据支持。例如ImageNet数据就拥有1400多万的图片,而现实生产环境中,数据集通常较小,只有几万甚至几百个样本。这时候,如何在这种情况下应用深度学习呢?
2024-08-24 10:05:43
1376
原创 RuntimeError: PytorchStreamReader failed reading zip archive: invalid header or archive is corrupted
模型推理过程中遇到错误:RuntimeError: PytorchStreamReader failed reading zip archive: invalid header or archive is corrupted。这个错误通常发生在尝试加载损坏的 PyTorch 模型文件时。这可能是由文件下载不完整、文件传输过程中损坏或者存储设备出现问题导致的原因。
2024-07-22 11:00:25
1500
原创 Python基础知识——(005)
本章总结保留字是Python已经被赋予特定意义的一些单词,保留字严格区分大小写标识符可用来给变量、函数、类、模块和其他对象命名可以是字母(包含中文)、数字、下划线,第一个字符不能是数字不能是Python中的保留字标识符严格区分大小写以下划线开头的标识符有特殊意义,不能随便使用允许使用中文作为标识符,但不建议使用变量名=value整数类型的四种表示形式:二进制、八进制、十进制和十六进制浮点数可以使用内置函数round() 限定运算结果需要保留的小数位数。
2024-07-20 11:18:17
683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人