![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 82
Fighting_1997
唯有勤奋不会辜负于你。
展开
-
模型部署笔记
训练设备平台:CPU、GPU、DSP模型与硬件之间的对应关系适配复杂度mxn的结果,导致开发复杂化、效率较低等问题使用一种模型表达结构将训练框架的输出结构统一化,将模型部署复杂度从mxn转变为m+nONNX变身是一种模型格式,属于文本,不是程序,无法直接在设备上运行。因此,需要软件栈去加载ONNX模型,使其在硬件设备上高效推理。这个软件栈指的是模型的推理框架。推理框架分类硬件商自研和通用推理框架。自研推理框架底层优化较好,推理的计算效率较高,不具备普适性,无法应用到其他的芯片上。而通用推理框架是具备通原创 2023-02-26 14:43:24 · 552 阅读 · 0 评论 -
卷积层和池化层总结
卷积层和池化层卷积层通常是用作对输入层输入数据进行特征提取。池化层负责对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出尺度,进而减少模型所需要的参数量卷积层次特征类型浅层卷积边缘特征中层卷积局部特征深层卷积全局特征卷积的类型标准卷积扩张卷积/空洞卷积转置卷积可分离卷积池化类型一般池化重叠池化空间金字塔池化(多尺度目标训练)区别卷积层池化层结构零填充时输出维度不变,而通道数改变通常特征原创 2022-04-21 22:07:41 · 2590 阅读 · 0 评论 -
Python 自动生成环境依赖包 requirements
一、生成当前 python 环境 安装的所有依赖包1、命令# cd 到项目路径下,执行以下命令pip freeze > requirements.txt # 或者使用如下命令pip list --format=freeze > requirements.txt2、常见问题1、中使用 pip freeze > requirements.txt 命令导出已安装的模块,其中部分模块显示了 @ file:///…,而不是具体的版本号,如下图:此时,如果我们直接在其他机器上边使原创 2022-04-19 17:59:21 · 1639 阅读 · 0 评论 -
解决物体检测中的小目标问题
为了提高模型在小物体上的性能,我们建议使用以下技术:提高图像捕获分辨率提高模型的输入分辨率平铺图像通过扩充生成更多数据自动学习模型锚过滤掉多余的类1. 提高图像捕获分辨率非常小的物体在边界框中可能只包含几个像素——这意味着提高图像的分辨率以增加检测器可以从该小框中形成的特征的丰富度非常重要。因此,如果可能,我们建议尽可能捕获高分辨率的图像。2. 提高模型的输入分辨率一旦我们拥有更高分辨率的图像,我们就可以扩大模型的输入分辨率。警告:这将导致大型模型需要更长的训原创 2022-04-18 19:42:57 · 3329 阅读 · 0 评论 -
cnn、max_pool和avg_pool Python实现
numpy实现import numpy as npfrom numpy.lib.stride_tricks import as_strideddef pool2d(A, kernel_size, stride, padding, pool_mode='max'): A = np.pad(A, padding, 'constant') output_shape = ((A.shape[0]-kernel_size)//stride+1, (A.shape[1]-kernel_size原创 2022-04-15 20:24:47 · 865 阅读 · 0 评论 -
暗通道去雾算法原理及实现
1. 算法原理基本原理来源于何凯明大神的CVPR09的论文Single Image Haze Removal Using Dark Channel Prior暗通道所谓暗通道是一个基本假设,这个假设认为,在绝大多数的非天空的局部区域中,某一些像素总会有至少一个颜色通道具有很低的值。这个其实很容易理解,实际生活中造成这个假设的原因有很多,比如汽车,建筑物或者城市中的阴影,或者说色彩鲜艳的物体或表面(比如绿色的树叶,各种鲜艳的花,或者蓝色绿色的睡眠),颜色较暗的物体或者表面,这些景物的暗通道总是变现为原创 2022-04-06 20:34:30 · 12232 阅读 · 3 评论 -
大气散射模型解释
大气散射模型的推导大气中粒子的散射作用是产生雾霾的主要原因。无论是用人的肉眼观察,还是从拍摄获取的图像中观察,雾天的景象总是存在对比度和视野降低的问题。1925年,Keim & Nemnich[1]等人提出雾天图像能见度较低是大气中的悬浮粒子对光的吸收和散射造成的。1976年,John Wiley & Sons[2]等人提出粒子的散射作用造成目标和相机之间光在传输过程的衰减,并且增加了一层大气散射光(Airlight)。1999年,针对雾天能见度低的问题,Srinivasa G. Nara原创 2022-03-28 23:13:18 · 8306 阅读 · 0 评论 -
CenterPoint(Object as Point)
扔掉anchor!真正的CenterNet——Objects as Points论文解读简单讲一下,目标检测中,存在两种anchor机制哦,一种是anchor-base,典型就是Faster RCNN中先验框以及YOLO2-5系列,另一种是anchor-free,典型的是YOLOv1,YOLOX以及本博客所讲的CenterNet,但是论文原名不是CenterNet,原因是被别人使用了,所以作者起名叫Object as Point。anchor-base和anchor-free最大的区别是区别是否有先验框原创 2022-03-23 19:18:42 · 4572 阅读 · 0 评论 -
LSTM解决梯度消失问题
“LSTM 能解决梯度消失/梯度爆炸”是对 LSTM 的经典误解。1、首先需要明确的是,RNN 中的梯度消失/梯度爆炸和普通的 MLP 或者深层 CNN 中梯度消失/梯度爆炸的含义不一样。MLP/CNN 中不同的层有不同的参数,各是各的梯度;而 RNN 中同样的权重在各个时间步共享,最终的梯度 g = 各个时间步的梯度 g_t 的和。2、由 1 中所述的原因,RNN 中总的梯度是不会消失的。即便梯度越传越弱,那也只是远距离的梯度消失,由于近距离的梯度不会消失,所有梯度之和便不会消失。RNN 所谓梯度消失原创 2022-03-22 16:53:03 · 3071 阅读 · 1 评论 -
transformer代码
1. 模型总览代码讲解之前,首先放出这张经典的模型架构图。下面的内容中,我会将每个模块的实现思路以及笔者在Coding过程中的感悟知无不答。没有代码基础的读者不要慌张,笔者也是最近才入门的,所写Pytorch代码没有花里胡哨,所用变量名词尽量保持与论文一致,对新手十分友好。我们观察模型的结构图,Transformer模型包含哪些模块?笔者将其分为以下几个部分:接下来我们首先逐个讲解,最后将其拼接完成模型的复现。2. config下面是这个Demo所用的库文件以及一些超参的信息。单独实现一个Co原创 2022-03-20 17:28:16 · 1690 阅读 · 0 评论 -
transformer灵魂21问
原文链接(https://zhuanlan.zhihu.com/p/363466672)1.Transformer为何使用多头注意力机制?(为什么不使用一个头)答:多头可以使参数矩阵形成多个子空间,矩阵整体的size不变,只是改变了每个head对应的维度大小,这样做使矩阵对多方面信息进行学习,但是计算量和单个head差不多。2.Transformer为什么Q和K使用不同的权重矩阵生成,为何不能使用同一个值进行自身的点乘?答:请求和键值初始为不同的权重是为了解决可能输入句长与输出句长不一致的问题。并且原创 2022-03-20 17:27:38 · 1050 阅读 · 0 评论 -
transformer
1.Transformer 整体结构首先介绍 Transformer 的整体结构,下图是 Transformer 用于中英文翻译的整体结构:Transformer 的整体结构,左图Encoder和右图Decoder可以看到 Transformer 由 Encoder 和 Decoder 两个部分组成,Encoder 和 Decoder 都包含 6 个 block。Transformer 的工作流程大体如下:第一步:获取输入句子的每一个单词的表示向量 X,X由单词的 Embedding(Embeddi原创 2022-03-20 16:05:01 · 267 阅读 · 0 评论 -
CycleGAN网络详解
注:CycleGAN的生成器和判别器结构大家都没有去详细介绍,这里我给补充一下哦简介论文下载地址https://arxiv.org/abs/1703.10593前言CycleGan是一种实现图像风格转换功能的GAN网络。早在它出现之前就存在着Pix2Pix实现图像风格转换,但pip2pip具有很大的局限性,主要是针对两种风格图像要对应出现,而现实中很难找到一些风格不同相同图像,也能难去拍摄获得,于是CycleGan就实现这个功能,在两种类型图像之间进行转换,而不需要对应关系,非常强大和实用!!!这原创 2022-03-18 16:11:58 · 42041 阅读 · 34 评论 -
yolov1详解
YOLOv1YOLOv1是单阶段目标检测方法,不需要像Faster RCNN这种两阶段目标检测方法一样,需要生成先验框。Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测。整个YOLO目标检测pipeline如上图所示:首先将输入图片resize到448x448,然后送入CNN网络,最后处理网络预测结果得到检测的目标。相比R-CNN系列算法,其是一个统一的框架,其速度更快,而且Yolo的训练过程也是end-to-end的。具体来说,YOLO将全图划分为S×SS×SS×S的格子,原创 2022-03-12 21:40:19 · 28641 阅读 · 16 评论 -
labelsmoothing
标签平滑-labellabellabel smoothingsmoothingsmoothing在深度学习样本训练的过程中,当我们采用 oneoneone-hothothot 标签去进行计算交叉熵损失时,只考虑到训练样本中正确的标签位置(oneoneone-hothothot 标签为 111 的位置)的损失,而忽略了错误标签位置(oneoneone-hothothot 标签为 000 的位置)的损失。这样一来,模型可以在训练集上拟合的很好,但由于其他错误标签位置的损失没有计算,导致预测的时候,预测错误的概原创 2022-03-10 19:48:29 · 221 阅读 · 0 评论 -
L1与L2正则的比较
L1L1L1与L2L2L2正则的区别正则化(RegularizationRegularizationRegularization) 是机器学习中对原始损失函数引入惩罚项,以防止过拟合或提高模型泛化性能的一类方法的统称。所谓惩罚是指对损失函数中的某些参数做一些限制。此时目标函数变成了原始损失函数+惩罚项,常用的正则项一般有两种,英文称作l1−norml_{1}−norml1−norm和l2−norml_{2}−norml2−norm,中文称作L1L1L1正则化和L2L2L2正则化,或者L1L1L1范数和原创 2022-03-10 19:26:50 · 795 阅读 · 0 评论