
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
性能优越的深度学习模型通常都有很大的参数量以及冗余的参数量,这导致模型很难部署,相反,生物神经网络都是用的是有效的稀疏连接,按照参数的重要性来减少压缩参数,可以有效地降低参数的存储量、消耗的计算量以及硬件的电量。本文主要是教大家如何使用torch中的prune工具将参数稀疏化(torch.nn.utils.prune)需求环境torch>1.4.0版本才具有该功能需要加载的第三方库如下方代码
2.如果我们某个Tensor在计算图中的前向计算,但是没有参与反向更新参数,可能会导致内存泄漏,因为pytorch的内存管理机制是反向传播后释放计算图中的Tensor;前者代表正在使用的内存,后者代表使用的内存峰值,如果两个iter之间的比值是个固定值,代表该句以上没有内存泄漏,如果不稳定,则代表有内存泄漏;就是从训练起始的地方打印torch.cuda.memory_allocated()/tor
绝对位置编码指的是为每个位置学习一个编码的向量,它的最大问题是不可以扩展,比如训练的时候学到的最大的序列长度的编码是N,那么在推理的时候N+1的位置没有学习过,位置编码不了所以无法推理,比如说bert最大的编码长度是256;相对位置编码实际上学习的是一个关于相对位置差的embed的函数f(m-n),所以是可以扩展的;ROPE就是一种相对位置编码;传统的纯文本的ROPE是1D 的ROPE,qwen2

符号位表示数的正负,指数位用于表示数的指数部分,尾数位用于表示数的尾数部分。线性层和卷积层,本质上都是线性操作,卷积层相当于共享参数的线性操作,但是self-attention是高阶的非线性操作,ResNet是由齐次运算堆叠而成,关注局部区域,而transformer是由非齐次运算堆叠而成,关注更大区域和更高的语义,齐次和非齐次运算的雅可比矩阵有非常不同的特性,会导致不同的优化难度;雅可比矩阵的连

性能优越的深度学习模型通常都有很大的参数量以及冗余的参数量,这导致模型很难部署,相反,生物神经网络都是用的是有效的稀疏连接,按照参数的重要性来减少压缩参数,可以有效地降低参数的存储量、消耗的计算量以及硬件的电量。本文主要是教大家如何使用torch中的prune工具将参数稀疏化(torch.nn.utils.prune)需求环境torch>1.4.0版本才具有该功能需要加载的第三方库如下方代码
https://wizardforcel.gitbooks.io/learn-dl-with-pytorch-liaoxingyu/content/2.3.html
一个好的深度学习模型的目标是将训练数据很好地推广到问题领域的任何数据。这使我们可以对模型从未见过的数据进行将来的预测。首先,当模型泛化性差的时候,我们需要找到其原因,当训练集能够很好地拟合,但是测试集却不能有很好的准确率,主要可能有以下几点原因:网络足够大,仅仅记住了所有样本当网络足够大时,无论你的数据集多么没规律,多么无意义,网络都能记住它们。如果你的数据集巨大,但是模型仅在训练集上表现良好,泛
https://wizardforcel.gitbooks.io/learn-dl-with-pytorch-liaoxingyu/content/2.3.html
什么是解耦头?在做实例分割时,我们需要输出分类置信度图和实例mask图;在做目标检测时,我们需要输出目标的分类和边框位置;所以,这两类任务都需要输出分类和位置!采用两个不同的头解耦输出分类和位置,称为decoupled;其中目标检测的解耦头如下图所示:solov2的解耦头如下图所示:为什么要用到解耦头?因为分类和定位的关注点不同!分类更关注目标的纹理内容!定位更关注目标的边缘信息!如上图所示分类更








