
深度学习
文章平均质量分 67
Lindsay.Lu丶
- find more, find yourself. -
展开
-
解决样本不平衡问题的奇技淫巧 汇总
先举一个“恐怖”的例子,直观的感受一下样本不平衡问题: 你根据1000个正样本和1000个负样本正确训练出了一个准确率(precison,下同)90%召回率(recall,下同)90%的分类器,且通过实验验证没有欠采样过采样的问题哦~完美的样本,完美的模型,破费,你心里暗自得意。然后模型上线,正式预测每天的未知样本~。 开始一切都很美好,准确率召回率都很好。直到有一天,数据发生了一点变化,还是原来的数据类型和特征,只是每天新数据中正负样本变成了100个正样本,1...原创 2021-11-06 09:36:42 · 286 阅读 · 0 评论 -
SENet(Squeeze-and-Excitation Networks)算法笔记
-SENet(Squeeze-and-Excitation Networks)算法笔记–通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征Momenta详解ImageNet 2017夺冠架构SENet转自机器之心专栏作者:胡杰本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器之心推出 CVPR 2017 精彩论文解读专栏。除此之外,Momenta 还受邀在 CVPR 201转载 2021-11-02 18:07:49 · 907 阅读 · 0 评论 -
读取并导出Tensorboard中数据
问题描述目前的问题是,使用keras的callback将日志数据(acc、loss、val_acc、val_loss)写入文件,然后使用Tensorboard在浏览器查看变化,现在打算读出相关数据,并自行绘图。解决方案转载 2021-06-09 13:45:18 · 2375 阅读 · 1 评论 -
parse_args()详解
<div id="content_views" class="markdown_views prism-atom-one-dark"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-mark...转载 2021-06-01 15:57:33 · 691 阅读 · 0 评论 -
使用Tensorflow2/1、Keras时对GPU内存限制(占用比/指定最大限制内存等)
参考:https://blog.youkuaiyun.com/lvsehaiyang1993/article/details/80921228原创 2021-05-31 14:24:52 · 1099 阅读 · 0 评论 -
【CV基础】Soft-NMS
转自:https://zhuanlan.zhihu.com/p/41046620论文(CVPR2017):《Improving Object Detection With One Line of Code》Github链接:https://github.com/bharatsingh430/soft-nmsSoft-NMS原理及实现1.动机非最大抑制(Non-maximum suppression, NMS)是物体检测流程中重要的组成部分(如下图划线部分)。NMS算法首先按照得分...原创 2021-01-19 21:22:42 · 270 阅读 · 0 评论 -
详解tensorflow2.0的模型保存方法(一)
前言:tensorflow2.0中有很多种模型保存方法,为了做一个统一的比较,本文做一个归纳总结,加之自己在这上面踩过很多的坑,现在感觉做一个总结实在是有必要。因为tensorflow创建模型的方式很多,包括Sequence、Model、SubClass Model,我们可以保存所有的模型,也可以仅仅保存权重。本文为系列文章第一篇,介绍各种模型保存方法,后面还会介绍checkpoint以及SavedModel的细节。一、Sequence和Model模型的保存1.1 保存整个模型为一个 h5 文件转载 2020-11-09 15:20:02 · 3447 阅读 · 2 评论 -
[tf2] 损失函数中的from_logits
损失函数中的logitsSparse_categorical_crossentropy函数中的参数from_logits用法:其中形参默认为from_logits=False,网络预测值y_pred 表示必须为经过了 Softmax函数的输出值。当 from_logits = True 时,网络预测值y_pred 表示必须为还没经过 Softmax 函数的变量 。logits表示网络的直接输出 。没经过sigmoid或者softmax的概率化。from_logits=False就表示把已经概率化原创 2020-10-29 10:01:09 · 1547 阅读 · 0 评论 -
浅谈KL散度
一、第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。 KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。 根据sha...转载 2020-10-28 16:07:06 · 690 阅读 · 0 评论 -
Batch Norm、Layer Norm、Instance Norm、Group Norm、Switchable Norm总结
1.综述1.1 论文链接1、Batch Normalizationhttps://arxiv.org/pdf/1502.03167.pdf2、Layer Normalizaitonhttps://arxiv.org/pdf/1607.06450v1.pdf3、Instance Normalizationhttps://arxiv.org/pdf/1607.08022.pdfhttps://github.com/DmitryUlyanov/texture_nets4、Gro原创 2020-10-12 20:15:06 · 567 阅读 · 0 评论 -
从不同角度看机器学习的几种学习方式
从不同角度看机器学习的几种学习方式:1、在线学习与离线学习offline learning and online learning.In offline learning, the whole training data must be available at the time of model training. Only when training is completed can the model be used for predicting.In contrast, onli...原创 2020-08-31 12:14:42 · 720 阅读 · 0 评论 -
Dilated/Atrous conv 空洞卷积/多孔卷积
DilatedDilatedDilatedDilatedDilated DilatedDilatedDilatedDilatedout=floor((in−filterSize+2∗padding)/stride)+1其中在tenso...转载 2020-08-16 12:55:34 · 244 阅读 · 0 评论 -
深度学习基础系列| Global Average Pooling是否可以替代全连接层?
Global Average Pooling(简称GAP,全局池化层)技术最早提出是在这篇论文(第3.2节)中,被认为是可以替代全连接层的一种新技术。在keras发布的经典模型中,可以看到不少模型甚至抛弃了全连接层,转而使用GAP,而在支持迁移学习方面,各个模型几乎都支持使用Global Average Pooling和Global Max Pooling(GMP)。 然而,GAP是否真的可以取代全连接层?其背后的原理何在呢?本文来一探究竟。 一、什么是GA...原创 2020-08-04 17:11:41 · 650 阅读 · 0 评论 -
深度学习系列:神经网络防止过拟合的方法
<p>过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。具体表现就是最终模型在训练集上效果好,而在测试集上的效果很差,模型的泛化能力比较弱。</p>那为什么要解决过拟合现象呢?这是因为我们拟合的模型一般是用来预测未知的结果(不在训练集内),过你个虽然在训练集上效果很好,但在实际使用时(测试集)效果很差。同时,在很多问题上,我们无法穷尽所以状态,不可能将所有情...转载 2020-08-03 20:11:49 · 1417 阅读 · 0 评论 -
神经网络权值初始化之Xavier和He初始化
Xavier初始化:条件:正向传播时,激活值的方差保持不变;反向传播时,关于状态值的梯度的方差保持不变。 初始化方法: 假设激活函数关于0对称,且主要针对于全连接神经网络。适用于tanh和softsign 论文地址:Understanding the difficulty of training deep feedforward neural networks 参考资料:深度学习之参数初始化(一)——Xavier初始化He初始化:论文地址:Delving Deep into Rectifier原创 2020-08-03 20:09:42 · 1303 阅读 · 0 评论 -
Batch Normalization和Dropout如何搭配使用?
Batch Normalization和Dropout如何搭配使用?背景分析解决方案参考资料背景众所周知,在Batch Normalization(BN)出来之前,dropout是训练神经网络时的标配,如果你的数据不够多,那么模型很容易过拟合,导致模型的性能下降。Dropout在很多任务上证明了自己的有效性,比如图片分类,语音识别,目标检索等等。但是在BN提出之后,dropout突然失宠了,原因是作者将BN和dropout搭配使用时,模型的性能不升反降。之后各大流行网络ResNe...转载 2020-08-03 17:54:44 · 656 阅读 · 0 评论 -
【DL】卷积神经网络的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
一、CNN卷积神经网络的经典网络综述下面图片参照博客:http://blog.youkuaiyun.com/cyh_24/article/details/51440344二、LeNet-5网络 输入尺寸:32*32卷积层:2个降采样层(池化层):2个全连接层:2个输出层:1个。10个类别(数字0-9的概率)LeNet-5网络是针对灰度图进行训练的,输入图像大小为32*32*1,不包含输入层的情况下共有7层,每层都包含可训练参数(连接权重)。注:每个层有多个Feature Map.转载 2020-07-29 21:57:59 · 481 阅读 · 0 评论 -
keras中EarlyStopping
EarlyStopping是什么EarlyStopping是Callbacks的一种,callbacks用于指定在每个epoch开始和结束的时候进行哪种特定操作。Callbacks中有一些设置好的接口,可以直接使用,如’acc’,’val_acc’,’loss’和’val_loss’等等。 EarlyStopping则是用...转载 2020-07-29 14:35:57 · 477 阅读 · 0 评论 -
keras ModelCheckpoint 实现断点续训功能
参考链接:墙裂推荐:https://cloud.tencent.com/developer/article/1049579英文版原文:https://machinelearningmastery.com/check-point-deep-learning-models-keras/keras文档回调函数:http://keras-cn.readthedocs.io/en/latest/other/callbacks/#...原创 2020-07-28 23:54:46 · 578 阅读 · 1 评论 -
【CV-project】看图说话(Image Captioning)
Background分别使用CNN和LSTM对图像和文字进行处理: 将两个神经网络结合: 应用领域图像搜索安全鉴黄涉猎知识数字图像处理图像读取图像缩放图像数据纬度变换自然语言处理文字清洗文字嵌入(Embedding)CNN卷积神经网络图像特征提取迁移学习(Transfer Learning)LSTM递归神经网络文字串(sequence)特征提取DNN深度神经网络从图像特征和文字串(sequence)的特征预测下一个单词使用数据集Framing原创 2020-07-24 18:11:42 · 2011 阅读 · 2 评论 -
【CV】Image Captioning代码复现合集
Image caption generation: https://github.com/eladhoffer/captionGenSimple encoder-decoder image captioning: https://github.com/udacity/CVND---Image-Captioning-Project (Paper)StyleNet: Generating Attractiv...原创 2020-07-23 22:10:49 · 1923 阅读 · 0 评论 -
Multi-class, Multi-label 以及 Multi-task 问题
一直很纠结Multi-class, Multi-label 以及 Multi-task 各自的区别和联系,最近找到了以下的说明资料:Multiclass classification means a classification task with more than two cla...转载 2020-07-22 21:46:09 · 276 阅读 · 0 评论 -
分类问题样本数据不平衡的几个解决办法
分类时,由于训练集合中各样本数量不均衡,导致模型训偏在测试集合上的泛化性不好。解决样本不均衡的方法主要包括两类:(1)数据层面,修改各类别的分布;(2)分类器层面,修改训练算法或目标函数进行改进。还有方法是将上述两类进行融合。数据层面1. 过采样(1) 基础版本的过采样:随机过采样训练样本中数量比较少的数据;缺点,容易过拟合;(2) 改进版本的过采样:SMOTE,通过插值的方式加入近邻的数据点;(3) 基于聚...转载 2020-07-21 17:56:48 · 2780 阅读 · 0 评论 -
PyTorch - 保存和加载模型
保存和加载模型关于保存和加载模型,有三个核心功能需要熟悉:torch.save:将序列化的对象保存到磁盘。此函数使用Python的 pickle实用程序进行序列化。使用此功能可以保存各种对象的模型,张量和字典。torch.load:使用pi...原创 2020-07-09 22:49:54 · 314 阅读 · 0 评论 -
【深度学习论文】FaceNet: A Unified Embedding for Face Recognition and Clustering
0. 前言参考资料: FaceNet: A Unified Embedding for Face Recognition and Clustering - 原文 译文 其他参考博客: 优快云博客:【深度学习论文笔记】FaceNet: A Unified Embedding for Face Recognition and Clustering 优快云博客:Face...原创 2020-02-19 10:47:32 · 857 阅读 · 0 评论 -
使用TensorFlow进行验证码识别主要实现思路
主要的思路是传统的机器学习思路,即:准备训练集、提取特征、使用定义好的神经网络结构进行训练生成训练模型;对预测集进行特征提取,再使用模型预测。1、准备训练集。对训练集进行人工标注(也可以通过captcha验证码库生成标注好的验证码),这些训练集的格式必须是统一的,比如都是160*60分辨率,RGB格式的。(当然正式训练时可以再进一步预处理,例如分辨率转化、灰化等)准备验证集,可以是从训练集...转载 2020-02-17 22:26:59 · 265 阅读 · 0 评论 -
深度学习之局部响应归一化LRN(Local Response Normalization)
1、LRN 局部响应归一化:这个技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一中处理方法。AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下:(1)成功使用ReLU作为CNN的激活函...原创 2020-02-13 16:56:50 · 687 阅读 · 0 评论 -
fine-tuning: 利用已有模型训练其他数据集
另外添加了50层的ResNet进行fine-tuning,结果得到了进一步的提高,超越了SVM在这一数据集上的最佳performance(87%)---------------------------------------------------------------------------------------------------------------------------...转载 2020-02-01 14:29:08 · 1571 阅读 · 0 评论 -
如何通俗易懂地解释卷积?卷积为什么要旋转180度?
如何通俗易懂地解释卷积?知乎回答:https://www.zhihu.com/question/22298352/answer/228543288https://www.zhihu.com/question/22298352/answer/637156871卷积为什么要旋转180度?一看这个标题就会想,这有什么大惊小怪的,可能好多人觉得这是个脑残话题,但我确实误解了两三年...转载 2020-01-11 16:25:12 · 3384 阅读 · 0 评论 -
图片标注问题image_caption
数据集:数据集中的训练集使用的是coco train 2014,82783张图片,测试集使用的是 val 2017 ,5000张图片,对应的caption是captions_train2014.json,和captions_val2017.json。该文件中是以字典的形式包含其内容信息,key值由“info”,”licenses“,”images“,”annotations“组成。info...原创 2019-11-06 14:46:36 · 1119 阅读 · 1 评论 -
一文搞懂深度学习正则化的L2范数
...转载 2019-10-11 13:47:38 · 1213 阅读 · 0 评论 -
SIFT算法系列之尺度空间
尺度空间定义 说到尺度空间理论最早可以追溯到1962年的T.Iijima最先提出,学术界开始关注尺度空间技术主要在1986年IEEE PAMI上同时刊出的4篇关于尺度空间理论的文章奠定了发展基础。现实世界中物体只有具备一定的尺度才能够倍人眼所察觉,计算机视觉学术研究就是在不断的尝试与突破来模拟人眼的观察方法。因此,尺度空间就是试图在图像领域中模拟人眼观察物体的概念与方法。例如:...转载 2019-02-21 11:05:59 · 1396 阅读 · 0 评论 -
多尺度与多分辨率的理解
我一开始以为&nbsp; 多尺度与多分辨率 &nbsp;是一样的意思。后来看到了xiaowei_cqu博客的一篇文章“【OpenCV】SIFT原理与源码分析:DoG尺度空间构造”(以下简称,xiaowei一文),才发现我的理解有误。尺度空间(scale space)理论要理解多尺度,首先要知道什么是尺度空间。xiaowei一文中提到...转载 2019-02-21 09:07:02 · 853 阅读 · 0 评论 -
多尺度空间概念
1.图像的尺度 这里图像的尺度并非指图像的大小,而是指图像的模糊程度,例如,人近距离看一个物体和远距离看一个物体模糊程度是不一样的,从近距离到远距离图像越来越模糊的过程,也是图像的尺度越来越大的过程。2.尺度空间的作用 1.用机器视觉系统分析未知场景时,计算机并不预先知道图像中物体的尺度。我们需要同时考虑图像在多尺度下的描述,获知感兴趣物体的最佳尺度。 2.不同的尺度下都有...原创 2019-02-21 08:51:03 · 8925 阅读 · 2 评论 -
特征点检测与稳定性判断
特征点检测1. Harris角点检测角点检测的基本思想是:使用角点检测算子,对图像的每个像素计算角点响应函数(Corner Response Function ),阈值化角点响应函数,根据实际情况选择阈值,对阈值化的角点响应函数进行非极大值抑制,并获取非零点作为角点。角点响应函数定义为:由Edward Rosten和Tom Drummond在2006年首先提出,是近年来一总倍受关注的基于模板和机器学习的角点检测方法,它不仅计算速度快,还具有较高的精确度。本文将通过其2006年的原文,详细介绍FAST的基本原理。一、FAST算法原理FAST的方法主要是考虑像素点附近的圆形窗口上的16个像...原创 2019-02-19 23:09:55 · 4294 阅读 · 0 评论 -
Harris角点检测原理
关于角点的应用在图像处理上比较广泛,如图像匹配(FPM特征点匹配)、相机标定等。网上也有很多博客对Harris角点检测原理进行描述,但基本上只是描述了算法流程,而其中相关细节并未作出解释,这里我想对有些地方做出补充说明,正所谓知其然知其所以然,如有不对,还望指正。1. 何为角点?下面有两幅不同视角的图像,通过找出对应的角点进行匹配。再看下图所示,放大图像的两处角点...转载 2019-02-19 14:07:47 · 275 阅读 · 0 评论 -
关于高斯滤波的一些理解
问:高斯滤波可以使图像边缘不明显,可以将不明显的边缘模糊。(1)但为什么不直接提高边缘检测算法参数中的阈值,而要先用高斯滤波来减少?(2)高斯滤波和边缘检测都是像素卷积计算出来的,为什么不直接将两个合并到一起?答:边缘检测的算法有很多种,这些算法通常容受图像本身的一些噪声干扰,尤其当用偏微分方程获取图像边缘时候,如果边缘不连续,甚至导致函数水平集无法停止收敛。比如,几何活动轮廓模型,高斯滤波...原创 2019-02-18 20:14:28 · 6357 阅读 · 0 评论 -
Opencv学习笔记(六)SURF学习笔记
原创文章,转载请注明出处:http://blog.youkuaiyun.com/crzy_sparrow/article/details/7392345本人挺菜的,肯定有很多错误纰漏之处 ,希望大家不吝指正。 看了harris角点检测之后,开始研究SURF角点检测,发现挺复杂的,一时也只了解了大概,把了解的东西总结下,以便下次深入学习。 &...转载 2019-02-28 10:09:06 · 197 阅读 · 0 评论