- 博客(250)
- 资源 (44)
- 收藏
- 关注
原创 车道线检测:汇总
我对这个方向不熟,只是感兴趣。原作者持续收集了2017~2019年的相关文章和代码:https://github.com/amusi/awesome-lane-detection图片来自:http://www.360doc.com/content/18/1227/13/43859374_804814347.shtml...
2019-07-30 09:16:56 734
转载 图像分割:汇总
本文系转载,版权归原作者所有。原文链接:http://www.aiuai.cn/aifarm62.html1. Semantic SegmentationFickleNet: Weakly and Semi-supervised Semantic Image Segmentation using Stochastic Inference - CVPR2019<Paper> ...
2019-03-07 10:02:05 1299
转载 模型压缩:Deep Compression/Acceleration(汇总)
原文链接:https://blog.csdn.net/hw5226349/article/details/84888416本文系转载,感谢原文博主的分享!结构`structure`[BMVC2018] IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks[CVPR201...
2019-03-05 14:38:42 879
原创 目标检测:2014~2020方法汇总
Github地址:【有表格和代码整理,值得关注】https://github.com/hoya012/deep_learning_object_detection参考文章:https://arxiv.org/pdf/1809.02165v1.pdf。刷榜排名:http://host.robots.ox.ac.uk:8080/leaderboard/main_bootstrap....
2019-01-04 09:45:34 6196 4
原创 目标检测:YOLOv3: 训练自己的数据
------------------------------ 本文仅供学习交流,如有错误,望交流指教 ------------------------------windows 版本:请参考:https://github.com/AlexeyAB/darknetlinux 版本:请参考本文与https://pjreddie.com/darknet/...
2018-03-26 10:59:02 188012 396
原创 目标检测:SSD 安装、训练、测试
说明:这个是SSD刚出来时候的博文记录,最新的可能会有更变,如有问题,请大家查阅官网链接。环境:ubuntu14.04+cuda7.5+openvc2.4.9安装1.下载SSDsudo apt-get install gitgit clone https://github.com/weiliu89/caffe.gitcd caffegit checkout ssd...
2016-12-21 21:18:44 14809 3
原创 目标检测:Faster rcnn 安装、训练、测试
说明:这个是Faster RCNN刚出来时候的博文记录,最新的可能会有更变,如有问题,请大家查阅官网链接。先上个检测效果:(1)图片人脸检测+关键点 (2)摄像头实时人脸+关键点**********************************************************...
2016-11-07 20:58:41 10944 15
原创 深度学习:知识整理---更新至2018.03.29
深度学习中一些好的加深理解的文章,全部收录于互联网,版权属原网站所有。① 1X1卷积核到底有什么作用呢?http://caffecn.cn/?/question/136② Faster rcnn的特征图到原图区域映射问题?http://caffecn.cn/?/question/135③基于深度学习的目标检测研究进展https://blog.csdn.net/lil...
2016-07-05 18:20:20 1764
原创 深度学习2:Caffe问题汇总(不定期更细)
Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换: Caffe::set_mode(Caffe::GPU); 原博文链接:点击进入Caffe的优势1.上手快:模型与相应优化都是以文本形式而非代码形式给出。2.Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。3.速度快:能够运行最棒的模型与海量的数据。4
2015-10-29 12:37:56 3070
原创 PaddleVideo:onnx模型导出
本文节介绍 PP-TSM 模型如何转化为 ONNX 模型,并基于 ONNX 引擎预测。可以看出onnx结果与Paddle 推理结果完全一致。
2024-04-08 14:49:15 469
原创 PaddleVideo:PP-TSM 视频分类
因为我们使用的是ucf101数据集训练,所以复制 pptsm_lcnet_k400_8frames_uniform.yaml 一份,并重命名为:pptsm_lcnet_ucf101_8frames_uniform.yaml 来进行修改。4. 视频按照 v_X_gY_cZ.avi的格式命名,其中X表示类别、Y表示组、Z表示视频编号,例如:v_ApplyEyeMakeup_g03 c04.avi表示ApplyEyeMakeup类别下,第03组的第04个视频。运行日志,并默认保存在./log目录下。
2024-04-07 17:08:30 1000
原创 PaddleVideo:环境配置
飞桨PaddlePaddle快速安装使用方法,安装方式支持:pip,conda,docker,源码编译,选择操作系统快速安装实现您的AI想法.开始使用_飞桨-源于产业实践的开源深度学习平台。Python依赖库在。
2024-04-02 14:48:33 543
原创 LLM:使用SWIFT框架进行 自我认知微调
如果设置了self_cognition_sample,则调用add_self_cognition_dataset。3:生成self_cognition_sample个随机索引。5:将自我认知数据和其他训练数据拼接到一起,作为最终训练数据。1:加载本地的self_cognition.jsonl数据。2:替换name与author。4:根据索引生成自我认知数据集。
2024-02-23 09:44:18 489
原创 LLM:NTK-Aware Scaled RoPE
将之前未见过的弧度也插入到见过的训练弧度范围内,以满足外推需求。旋转速度都会变慢,导致模型的高频信息缺失,从而影响模型的性能。位置越靠前的向量分组,旋转速度越快,频率越高,NTK方案希望保留这些高频信息。本文介绍PI的改进方案:NTK-Aware Scaled RoPE。其中第0分组的旋转弧度保持不变,最后一个分组的旋转弧度变为原来的。通过缩小每个位置的旋转弧度,每个位置的旋转弧度变为原来的。编码位置分组越靠后,旋转弧度缩小的倍数越大。,长度扩大几倍,则旋转弧度缩小几倍。作者认为编码分组考前的。
2024-01-24 14:34:52 320
原创 LLM:RoPE - 开源代码中的实现 (下)
key_layer的维度为: [seq, batch, heads, head_dim]1:对于 token 序列中的每个词嵌入向量,首先计算其对应的 query 和 key 向量。query_layer的维度为: [seq, batch, heads, head_dim]前文提供了RoPE的基本实现,本文学习一下开源LLM中的RoPE的实现。对应复数的实部q0∗cos(mθ)−q1∗sin(mθ);对应复数的虚部q1∗cos(mθ)+q0∗sin(mθ);对应cos(mθ),对应sin(mθ);
2024-01-23 17:50:32 104
原创 LLM:Position Interpolation - 位置插值
例如,为了回答位于 3000 位置的问题,训练在最大窗口大小 L = 2048 上的模型无法利用位于位置 0 处的信息,但仍可以利用位于位置 2900 处的证据。特别是当直接扩展到在训练中未见过的更大的上下文窗口时,困惑度可能会飙升到非常高的数字,与未训练的模型相当。以匹配原始上下文窗口的大小,而不是外推超过训练时所用的上下文长度(其可能会导致灾难性的较高的注意力分数,从而完全破坏了自注意力机制)。PI 的做法:缩小每个位置的旋转弧度,让向量旋转得慢一些,每个位置的旋转弧度变为原来的。
2024-01-22 18:42:05 120
原创 LLM:ALiBi - 给注意力加上线性偏置
为什么是一个下三角矩阵,因为我们研究的是,autoregressive language modeling,所以这就是上三角被MASK的原因,我们不关注未来,只关注过去,这个编码只应用在Query和Key中,不会应用到Value中。这使得我们的方法与正弦方法相似,正弦方法中的超参数一次性设置的,然后在不同大小的不同数据集上的不同模型中重复使用。1:尽管大多数模型使用训练过的或正弦的位置嵌入,T5模型使用一种相对位置方法,这种方法不向词嵌入添加位置信息(与之前的方法不同)。相反,它修改了注意力值的计算方式。
2024-01-19 17:55:14 804
原创 LLM:RoPE - 旋转位置编码 (上)
2:主要就是对attention中的q, k向量注入了绝对位置信息,然后用更新的q,k向量做attention中的内积就会引入相对位置信息了。旋转位置编码RoPE 是目前大模型中广泛使用的一种位置编码,包括但不限于Llama、Baichuan、ChatGLM、Qwen等。1:RoPE通过绝对位置编码的方式实现相对位置编码,综合了绝对位置编码和相对位置编码的优点。,由于自然语言一般更依赖于相对位置,所以相对位置编码通常也有着优秀的表现。而经典的位置编码PE的计算方式是采用上篇文章提到的。
2024-01-19 11:21:03 445
原创 LLM:Sinusoidal-正余弦位置编码
当emb和位置编码相加了之后,我们希望emb占多数,比如将emb放大10倍,那么在相加后的张 量里,emb就会占大部分。因为位置编码矩阵的大小是预设的,若对其进行扩展,将会破坏模型在预训练阶段学习到的位置信息。如下图所示,我们随机初始化两个向量q和k,将q固定在位置0上,k的位置从0开始逐步变大,依次计算q和k之间的内积。具体表现为:对于两个相同的词向量,如果它们之间的距离越近,则他们的内积分数越高,反之则越低。每个分量的数值都具有周期性,并且越靠后的分量,波长越长,频率越低。
2024-01-18 17:29:08 1266
原创 LLM:Training Compute-Optimal Large Language Models(下)
尽管得出了同样的结论,但DeepMind认为:大型模型应训练更多的token,远超过OPenAI作者推荐的数量。所以后续的工作都专注于提升参数规模,设计越来越大的模型,而不是在更多的数据上训练较小的模型。使用这些中间损失观测,导致对训练模型在小于130B token的数据上的有效性的低估,并最终导致了一个结论,即模型大小应比训练数据大小增长得更快。在每条曲线的最小值的左侧,模型太小——在较少数据上训练的较大模型将是一种改进。在每条曲线的最小值的右侧,模型太大——在更多数据上训练的较小模型将是一种改进。
2024-01-16 16:45:40 1055
原创 LLM:Scaling Laws for Neural Language Models (中)
PF-days: 如果每秒钟可进行1015次运算,就是1 peta flops,那么一天的运算就是1015×24×3600=8.64×1019,这个算力消耗被称为1个petaflop/s-day。1:LLM模型的性能主要与计算量C,模型参数量N和数据大小D三者相关,而与模型的具体结构 (层数/深度/宽度) 基本无关。),模型基本收敛,继续增加训练的 Token 数量,纵轴的Test Loss 并没有明显下降。在1T的数据上,训练的10M-3B的模型,是怎么推算训练7B/13B需要2.6T数据呢?
2024-01-15 16:32:48 619
原创 LLM:Scaling Laws for Neural Language Models (上)
当我们在与模型训练数据分布不同的文本上评估模型时,结果与在训练验证集上的结果有强烈的相关性,但损失的偏移约为常数 - 换句话说,转移到不同的分布会产生一个常数的惩罚,但除此之外,性能大致与在训练集上的性能一致。但是,如果我们只固定N、D中的一个,而增加另一个规模,就会出现回报递减的情况。在WebText2数据集上训练的模型,在其他各种数据集上的测试损失也是 N 的幂律,且幂律几乎相同,如上图所示。4:更大的模型显著地更具样本效率,因此,在相对较小的数据量上训练非常大的模型并在收敛之前显著地停止。
2024-01-15 14:24:51 1528 1
原创 GAN:WGAN-DIV
在计算机视觉的许多领域中,生成对抗性网络已经取得了巨大的成功,其中WGANs系列被认为是最先进的,主要是由于其理论贡献和竞争的定性表现。在 WGAN-gp 中,为了满足 1-Lipschitz 约束,训练出好效果,采用了真假数据的插值方法,来模拟全空间的均匀分布。WGAN-div 的作者说,这种做法是一种机械性的,很难靠有限的采样,模拟出这种全空间分布。作者提出了一种新的 Wasserstein 散度(W-div),它是W-met的松弛版本,不需要k-Lipschitz约束。是真数据与假数据的线性混合。
2023-12-05 17:53:40 347
原创 GAN:SNGAN-谱归一化GANs
的观点:WGAN-GP中使用gradient penalty 的方法来限制判别器,但这种放法只能对生成数据分布与真实分布之间的分布空间的数据做梯度惩罚,无法对整个空间的数据做惩罚。因为谱归一化事实上要求网络的每一层都满足 L 约束,但这个条件太死了,也许这一层可以不满足 L 约束,下一层则满足更强的 L 约束,两者抵消,整体就满足 L 约束,但谱归一化不能适应这种情况。谱归一化是一种“事前”的处理方案,它直接将每一层的权重都谱归一化后才进行运算,谱归一化作为了模型的一部分,更加合理一些。
2023-12-04 14:55:46 618 1
原创 GAN:WGAN-GP-带有梯度惩罚的WGAN
WGAN-GP中移除了判别器中的BN操作: 因为WGAN-gp的惩罚项计算中,惩罚的是单个数据的gradient norm,如果使用 batchNorm,就会扰乱这种惩罚,让这种特别的惩罚失效。所以只有设置的不大不小,比如c=0.01(wgan作者推荐的数值),下图中的紫色线,梯度保持相对合理,才能让生成器获得不错的回传梯度。公式在下面, 里面表达的是它在WGAN的loss上加了一个惩罚项,如果判别器的 gradient 的 norm,离 1 越远,那么 loss 的惩罚力度越高。作者发现移除后效果很好。
2023-12-01 14:11:04 1571 1
原创 GAN:WGAN
这源于 weight clipping 的方法太简单粗暴了,导致判别器的参数几乎都集中在最大值和最小值上,相当于一个二值神经网络了,没有发挥深度神经网络的强大拟合能力。训练过程中有一个有意义的 loss 值来指示生成器收敛,并且这个数值越小代表 GAN 训练得越好,代表生成器产生的图像质量越高;1. 此时的判别器相当于做回归任务,它输出的是一般意义上的分数,而不是之前的概率。而如果都不使用批标准化,左图的 WGAN 生成质量很好,而右图的 DCGAN 生成的质量很差。2、权重裁剪后收敛缓慢(裁剪窗口太大)
2023-11-30 18:12:17 511
原创 GAN:WGAN前作
可以看出更有明显的梯度方差较大的缺陷,导致训练的不稳定。在训练的早期(训练了1 epoch和训练了10 epochs),梯度的方差很大,对应的曲线看起来比较粗,直到训练了25 epochs以后GAN收敛了才出现方差较小的梯度。文章花了大量的篇幅进行数学推导,证明在一般的情况,如果Discriminator训练得太好,Generator就无法得到足够的梯度继续优化,而如果Discriminator训练得太弱,指示作用不显著,同样不能让Generator进行有效的学习。发表:ICLR 2017。
2023-11-30 13:41:47 400
原创 GAN:PacGAN-生成对抗网络中两个样本的威力
把相同label的样本拼接就是文中的 packing 技术,接收拼接 packing 样本的判别器就叫 packed 判别器。左侧是默认的判别器,右侧是 packed 2 个样本的判别器,输入节点翻倍。将判别器的输入改成多个样本,这样判别器可以同时基于看到的多个样本进行决策,可以从一定程度上缓解 mode collapse。:修改调整判别器,使其决策是基于同类的多个样本(不用管样本是真实样本还是生成样本)。常规GAN的做法:使用单一判别器,将单一样本映射为单一的soft标签。取决与使用的GANs架构。
2023-11-29 11:08:23 267
原创 GAN:ImprovedGAN-训练GAN的改进策略
具体来说,生成网络产生的图片经过判别网络后的中间层的feature 和真实图片经过判别网络的feature尽可能相同。首先从训练集中拿出一个batch在训练开始前固定起来,算出这个特定batch的均值和方差,进行更新训练中的其他batch。这是因为辨别器在辨别的时候是对单个样本进行辨别(对每个输入均给出一个0-1的分数),没有考虑样本之间的关系,所以容易造成模式坍塌。但是BN有个缺点,即BN会时G网络生成一个batch的图片中,每张图片都有相关联(如,一个batch中的图片都有比较多的绿色)。
2023-11-28 16:56:30 374
原创 GAN:DCGAN-深度卷积生成对抗网络
此外,我们发现将动量项留在0.9的建议值导致了训练振荡和不稳定性,同时将其降低到0.5,这有助于稳定训练。对单个样本进行实验,结果是不稳定的,但是对三个样本的Z向量进行平均,显示了在语义上服从算术是一致的和稳定的。(暗指人脸编辑是可行的,当然这个是16年,很早的文章了,很有启发性。3个女性(微笑表情)的平均 - 3个女性(正常表情)的平均 + 3个男性(正常表情)的平均。3:权重初始化都是以零为中心的正态分布初始化的,标准偏差为0.02。对于每一列,将样本的Z向量进行算术运算,得到新的向量Y。
2023-11-28 11:31:13 527
原创 GAN:GAN论文学习
GAN的训练:动态的过程,是生成器G 与判别器D 之间的相互博弈过程。通俗点讲,即要使得生成器G 生成的所谓的"假图"骗过判别器D ,那么最优状态就是生成器G 生成的所谓的"假图"在判别器D 的判别结果为0.5,不知道到底是真图还是假图。CNN的训练:定义好特定的损失函数,然后利用梯度下降优化参数,尽可能用局部最优解去逼近全局最优解。GAN是由Ian Goodfellow于2014年提出,z代表了随机输入数据,该数据是随机高斯噪声。GAN的目的就是无中生有,以假乱真。p_data代表真实数据概率密度分布,
2023-11-28 09:50:09 240
原创 NCNN:备忘
ncnn中Mat数据的排列格式为(channel, h, w):bbbb....gggg.....rrrr。opencv中Mat中数据的排列格式为(h, w, channel):bgrbgrbgrbgr...
2023-10-09 17:16:44 119
原创 docker:修改容器的共享内存大小
之前设置的Shmsize 是8G, 可以设置大一些,比如64/128G等。B: 查看容器的完整ID。D:停止docker服务。F:重启docker服务。A:查看当前容器的ID。C:进入容器配置目录。
2023-10-07 10:35:04 1010
原创 DKD蒸馏复现
cvpr2022的DKD基于传统的KD进行改进,重铸logits蒸馏的荣光。目前很多蒸馏都采用DKD方案,比如PaddleClass里面的模型,paddle-ocr等等。logits蒸馏主要是在早期,后期效果逐步被基于feature蒸馏超越。目前基于 这个仓库在cifar100上进行验证:代码简洁明了。2:基于feature。1:基于logits。
2023-09-26 16:23:17 163
原创 PaddleClas:自定义dataloader
可以参考下面文件中的 ***Dataset 类,如 ImageNetDataset,MultiLabelDataset 等。PaddleClas提供的都是现成的dataloader,不一定适用,所以有必要掌握魔改的技能。PaddleClas版本:2.5。
2023-07-26 09:07:15 256
原创 PaddleClas:训练技巧
如果追求更快的收敛速度,我们推荐使用这些自适应学习率的优化器,如果追求更高的收敛精度,我们推荐使用带momentum的SGD优化器。
2023-07-07 10:16:32 362
原创 PaddleClas:自定义backbone
PaddleClas提供的都是现成的网络结构和权重,不一定适用,所以有必要掌握魔改的技能。具体如下:根据自己的数据进行类别数目、数据位置的调整。PaddleClas版本:2.5。
2023-07-05 17:52:56 338
原创 PaddleClas:ResNet_vd结构
而且,在这个模块中将feature size缩小了两倍,所以在conv3_x中的第一个basicBlock中,使用了stride=2,此时feature map的size也已经缩小了,所以需要在shortcut中添加1*1卷积,并且stride=2,让输入和输出具有相同的形状,从而可以相加。根据上面表格中的表述,可以将整个网络的主体部分分为4块,conv2_x,conv3_x,conv4_x,conv5_x,在所有的结构中conv2_x这一部分都没有对的大小做改变feature map。
2023-07-05 10:11:28 410
Deep Hashing for Compact Binary Codes Learning
2015-10-21
IsoHash code
2015-07-21
IsoHash 各向同性哈希
2015-07-21
Supervised Hashing with Kernels(KSH)
2015-07-03
LSH(局部敏感哈希)
2015-07-03
Visual Studio Community 2017 (version 15.9)
2020-06-16
numpy-1.16.4+mkl-cp37-cp37m-win_amd64.zip
2020-06-11
Jointly Learning Binary Code for Large-scale Face Image Retrieval and Attributes
2016-04-13
Feature Learning based Deep Supervised Hashing with Pairwise Labels
2016-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人