记录CV算法工程师成长之路。
私信
关注
主帖 26
回帖 4
专栏
【本文正在参加优质创作者激励计划】[一,模型在线部署](一模型在线部署)[1.1,深度学习项目开发流程](11深度学习项目开发流程)[1.2,模型训练和推理的不同](12模型训练和推理的不同)[二,手机端CPU推理框架的优化](二手机端cpu推理框架的优化)[三,不同硬件平台量化方式总结](三不同硬件平台量化方式总结)[参考资料](参考资料)一,模型在线部署深度学习和计算机视觉方向除了算法训练研究,还有两个重要的方向:模型压缩(模型优...
2023-04-14 16:44:31 1231浏览 0点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】一,模型压缩技术概述我们知道,一定程度上,网络越深,参数越多,模型也会越复杂,但其最终效果也越好,而模型压缩算法是旨在将一个庞大而复杂的大模型转化为一个精简的小模型。之所以必须做模型压缩,是因为嵌入式设备的算力和内存有限,经过压缩后的模型方才能部署到嵌入式设备上。模型压缩问题的定义可以从3角度出发:1.模型压缩的收益:计算:减少浮点运算量(FLOPs),降低延迟(Latency...
2023-04-14 16:41:27 1481浏览 0点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】前言浮点数和定点数浮点数(floatingpointnumber)和定点数(fixedpointnumber)都是计算机中表示实数(即带有小数部分的数)的方式。在数值计算中,小数在内存中是以浮点数格式表示和参与运算。浮点数和定点数中的“点”指的是小数点。1,浮点数表示法是用科学计数法表示实数,即:$\text{fraction}\times\text{base}^\text{exponent}$其中,$fraction$表示尾数,$base$表示基数(通常为2)...
2023-04-14 16:32:11 4850浏览 2点赞 2回复 0收藏
【本文正在参加优质创作者激励计划】文章同步发于[github仓库](https:github.comHarleysZhangcvnoteblobmaster7modelcompression%E8%BD%BB%E9%87%8F%E7%BA%A7%E7%BD%91%E7%BB%9C%E8%AE%BA%E6%96%87%E8%A7%A3%E6%9E%90%E8%BD%BB%E9%87%8F%E7%BA%A7%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1%E4%B8%8E%E9%83%A8%E7%BD%B2%E6%80%BB%E7%BB%93.md),最新板以github为主。本人水平有限,文章如有问题,欢迎及时指出。如果看完文章有所收获...
2023-04-14 15:57:00 3045浏览 1点赞 2回复 0收藏
【本文正在参加优质创作者激励计划】一,剪枝分类所谓模型剪枝,其实是一种从神经网络中移除"不必要"权重或偏差(weigthsbias)的模型压缩技术。关于什么参数才是“不必要的”,这是一个目前依然在研究的领域。1.1,非结构化剪枝非结构化剪枝(UnstructuredPuning)是指修剪参数的单个元素,比如全连接层中的单个权重、卷积层中的单个卷积核参数元素或者自定义层中的浮点数(scalingfloats)。其重点在于,剪枝权重对象是随机的...
2023-03-28 14:23:51 1226浏览 2点赞 3回复 1收藏
【本文正在参加优质创作者激励计划】一,前言学术界的SOTA模型在落地部署到工业界应用到过程中,通常是要面临着低延迟(Latency)、高吞吐(Throughpout)、高效率(Efficiency)挑战的。而模型压缩算法可以将一个庞大而复杂的预训练模型转化为一个精简的小模型,从而减少对硬件的存储、带宽和计算需求,以达到加速模型推理和落地的目的。近年来主流的模型压缩方法包括:数值量化(DataQuantization,也叫模型量化),模型稀疏...
2023-03-28 14:22:14 1439浏览 3点赞 2回复 1收藏
【本文正在参加优质创作者激励计划】前言在全连接层构成的多层感知机网络中,我们要通过将图像数据展平成一维向量来送入模型,但这会忽略了每个图像的空间结构信息。理想的策略应该是要利用相近像素之间的相互关联性,将图像数据二维矩阵送给模型中学习。卷积神经网络(convolutionalneuralnetwork,CNN)正是一类强大的、专为处理图像数据(多维矩阵)而设计的神经网络,CNN的设计是深度学习中的一个里程碑式的技术。在Transform...
2023-03-15 01:07:48 2222浏览 4点赞 2回复 1收藏
【本文正在参加优质创作者激励计划】本文给出了ChatGPT的详细注册及使用教程,称得上是非常详细的丰富图文教程。一,何为ChatGPTChatGPT是一个基于GPT3模型的对话系统,它主要用于处理自然语言对话。通过训练模型来模拟人类的语言行为,ChatGPT可以通过文本交流与用户互动。它可以用于各种场景,包括聊天机器人、智能客服系统等。基于GPT3模型的对话系统通常会有很好的语言生成能力,并能够模拟人类的语言行为。ChatGPT虽然才发...
2023-03-15 01:01:50 7802浏览 0点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】本文大部分内容参考《深度学习》第五章机器学习基础,但从中抽取重要的知识点,并对部分概念和原理加以自己的总结,适合当作原书的补充资料阅读,也可当作快速阅览机器学习原理基础知识的参考资料。前言深度学习是机器学习的一个特定分支。我们要想充分理解深度学习,必须对机器学习的基本原理有深刻的理解。大部分机器学习算法都有超参数(必须在学习算法外手动设定)。机器学习本质上属于...
2023-03-15 00:53:44 785浏览 5点赞 5回复 1收藏
【本文正在参加优质创作者激励计划】梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式,有助于初学者后续更深入理解随机梯度下降算法的公式。大部分内容来自维基百科和博客文章内容的总结,并加以个人理解。导数导数(英语:derivative)是微积分学中的一个概念。...
2023-03-15 00:51:08 1187浏览 0点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】本文内容参考资料为《智能之门神经网络与深度学习入门》和《解析卷积神经网络》两本书,以及部分网络资料,加以个人理解和内容提炼总结得到,文中所有直方图的图片来源于参考资料3。一,参数初始化概述我们知道神经网络模型一般是依靠随机梯度下降优化算法进行神经网络参数更新的,而神经网络参数学习是非凸问题,利用梯度下降算法优化参数时,网络权重参数的初始值选取十分关键。首先得明确...
2023-03-15 00:48:48 1347浏览 1点赞 0回复 1收藏
【本文正在参加优质创作者激励计划】一,数学基础1.1,概率密度函数随机变量(randomvariable)是可以随机地取不同值的变量。随机变量可以是离散的或者连续的。简单起见,本文用大写字母$X$表示随机变量,小写字母$x$表示随机变量能够取到的值。例如,$x1$和$x2$都是随机变量$X$可能的取值。随机变量必须伴随着一个概率分布来指定每个状态的可能性。概率分布(probabilitydistribution)用来描述随机变量或一簇随机变量在每一个...
2023-03-15 00:47:37 1039浏览 0点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】本文分析了激活函数对于神经网络的必要性,同时讲解了几种常见的激活函数的原理,并给出相关公式、代码和示例图。一,激活函数概述1.1,前言人工神经元(ArtificialNeuron),简称神经元(Neuron),是构成神经网络的基本单元,其主要是模拟生物神经元的结构和特性,接收一组输入信号并产生输出。生物神经元与人工神经元的对比图如下所示。从机器学习的角度来看,神经网络其实就是一个非线性模型...
2023-03-15 00:45:53 1211浏览 1点赞 0回复 0收藏
【本文正在参加优质创作者激励计划】一,前向传播与反向传播1.1,神经网络训练过程神经网络训练过程是:1.先通过随机参数“猜“一个结果(模型前向传播过程),这里称为预测结果$a$;2.然后计算$a$与样本标签值$y$的差距(即损失函数的计算过程);3.随后通过反向传播算法更新神经元参数,使用新的参数再试一次,这一次就不是“猜”了,而是有依据地向正确的方向靠近,毕竟参数的调整是有策略的(基于梯度下降策略)。以上步骤...
2023-03-15 00:40:04 1056浏览 3点赞 2回复 0收藏
【本文正在参加优质创作者激励计划】前言所谓深度神经网络的优化算法,即用来更新神经网络参数,并使损失函数最小化的算法。优化算法对于深度学习非常重要,如果说网络参数初始化(模型迭代的初始点)能够决定模型是否收敛,那优化算法的性能则直接影响模型的训练效率。了解不同优化算法的原理及其超参数的作用将使我们更有效的调整优化器的超参数,从而提高模型的性能。本文的优化算法特指:寻找神经网络上的一组参数$\theta$,...
2023-03-15 00:39:08 1018浏览 1点赞 0回复 1收藏
【本文正在参加优质创作者激励计划】本文总结分类和回归任务的常用损失函数,比如重点解析了交叉熵损失函数的由来,并给出详细计算公式和、案例分析、代码,同时也描述了MAE和MSE损失函数,给出了详细的计算公式、曲线图及优缺点。一,损失函数概述大多数深度学习算法都会涉及某种形式的优化,所谓优化指的是改变$x$以最小化或最大化某个函数$f(x)$的任务,我们通常以最小化$f(x)$指代大多数最优化问题。在机器学习中,损失函数...
2023-03-15 00:36:01 756浏览 0点赞 0回复 0收藏
摘要ResNet的工作表面,只要建立前面层和后面层之间的“短路连接”(shortcut),就能有助于训练过程中梯度的反向传播,从而能训练出更“深”的CNN网络。DenseNet网络的基本思路和ResNet一致,但是它建立的是前面所有层与后面层的密集连接(denseconnection)。传统的$L$层卷积网络有$L$个连接——每一层与它的前一层和后一层相连—,而DenseNet网络有$L(L+1)2$个连接。在DenseNet中,让网络中的每一层都直接与其前面层相连,实...
2023-03-06 19:27:52 1432浏览 0点赞 0回复 0收藏
前言本文的主要贡献在于通过理论分析和大量实验证明使用恒等映射(identitymapping)作为快捷连接(skipconnection)对于残差块的重要性。同时,将BNReLu这些activation操作挪到了Conv(真正的weightsfilter操作)之前,提出“预激活“操作,并通过与”后激活“操作做对比实验,表明对于多层网络,使用了预激活残差单元(Preactivationresidualunit)的resnetv2都取得了比resnetv1(或resnetv1.5)更好的结果。摘要近期已经涌现...
2023-03-06 19:27:00 831浏览 0点赞 0回复 0收藏
摘要残差网络(ResNet)的提出是为了解决深度神经网络的“退化”(优化)问题。有[论文](https:link.zhihu.comtargethttps%3Aarxiv.orgabs1702.08591)指出,神经网络越来越深的时候,反传回来的梯度之间的相关性会越来越差,最后接近白噪声。即更深的卷积网络会产生梯度消失问题导致网络无法有效训练。而ResNet通过设计残差块结构,调整模型结构,让更深的模型能够有效训练更训练。目前ResNet被当作目标检测、语义分割等视觉算法...
2023-03-06 19:25:39 941浏览 0点赞 0回复 0收藏
torch.Tensortorch.Tensor是一种包含单一数据类型元素的多维矩阵,类似于numpy的array。可以使用使用torch.tensor()方法将python的list或序列数据转换成Tensor数据,生成的是dtype默认是torch.FloatTensor。注意torch.tensor()总是拷贝data。如果你有一个tensordata并且仅仅想改变它的requiresgrad属性,可用requiresgrad()或者detach()来避免拷贝。如果你有一个numpy数组并且想避免拷贝,请使用torch.astensor()。1,指定数据...
2023-03-06 19:23:00 918浏览 0点赞 0回复 0收藏
获得成就
已积累 1.0w 人气
获得 25 个点赞
获得 7 次收藏