
深度学习
文章平均质量分 93
Felaim
Hey, you're not a nobody. You're a somebody.
展开
-
Paper Reading:你真的了解Transformer了吗?
Attention is All You Need原创 2021-06-25 16:32:28 · 336 阅读 · 0 评论 -
功能性模块:(10)Spearman‘s rank correlation coefficient的简单理解(含与PCC之间的区别)
Spearman’s rank correlation coefficient的简单理解1. 背景在统计学中,斯皮尔曼等级相关系数(Spearman’s rank correlation coefficient, 或者Spearman’s ρ\rhoρ, 通常使用ρ\rhoρ或者rsr_srs来表示),是一个等级相关性的非参数度量(两个变量等级之间的统计相关性)。这个相关系数使用单调函数来描述两个变量之间的关系程度。如果两个变量的Spearman correlation和Pearson correl原创 2021-06-04 16:53:28 · 2785 阅读 · 1 评论 -
功能性模块:(9)Pearson Correlation coeffiicient的简单理解
Pearson correlation coefficient 的简单理解1. 背景最近LZ正在恶补一些nlp相关的知识,其中在判断句子文本相似性的时候,使用了Pearson correlation和Spearman’s rank correlation这两个统计学相关系数,还是做个笔记吧,不然时间久了,又会忘记了。在统计学中,皮尔逊相关系数(Pearson correlation coefficient, PCC),有的时候也指Pearson’s r, 皮尔逊剂矩相关系数 (Pearson pr原创 2021-06-04 11:38:56 · 2227 阅读 · 0 评论 -
Paper Reading: GELUs
Paper Reading: GELUs1. 简介文章全名: GAUSSIAN ERROR LINEAR UNITS (GELUs)这个激活函数是LZ在看BERT的时候,提及到的,因为对这个激活函数还不是很熟悉,于是就补充下对应的知识。主要想知道几个问题:激活函数是怎么实现的?与之前的激活函数相比,它的优势在什么地方?使用它对训练结果有什么影响?什么是GELUs?是指高斯误差线性单元(Gaussian Error Linear Unint, GELU),这是一种高性能的神经网络激活函数,原创 2021-06-03 14:29:54 · 527 阅读 · 0 评论 -
功能性模块:(8)一文理解常用激活函数(Sigmoid,ReLU,ELU,GELU...)
一文理解常用激活函数1. Sigmoid公式:Sigmoid(x)=11+exp(−x)\text{Sigmoid}(x) = \frac{1}{1 + \exp(-x)}Sigmoid(x)=1+exp(−x)1Sigmoid的函数形状如下图所示:对应的导数形式如下图所示:Sigmoid函数的优点:便于求导,可以看到Sigmoid的梯度是平滑的函数能够压缩数据,数据会压缩在0-1之间适合用于前向传播Sigmoid函数的缺点:容易出现梯度消失Sigmoid的输出不是0均原创 2021-06-03 11:38:15 · 2596 阅读 · 1 评论 -
深度学习:淘气3000问
淘气3000问LZ每天学习深度学习各种知识,其实会遇到各种各样的问题,每次都百度还是挺麻烦的,想做个汇总博客,总结各种深度学习遇到的问题。有些很简单,做个积累,有些还是比较复杂的,那就好好研究一下吧!1. BatchNorm是什么?2. BatchNorm里面的momentum有什么用?3. 目前常用的backbone有哪些?分别是什么样的呢?4. 常用的激活函数有哪些?分别是什么呢?5. DLA(Deep Layer Aggregation)是什么?为什么要用这种结构?6. DCN(Defo原创 2020-09-08 18:46:18 · 642 阅读 · 1 评论 -
Dataset:Human Detection and Search
Dataset:Human Detection and Search1. 背景主要归纳了一下Human Detection and Search 涉及到的6个数据集, 分别为ETHZ, CityPersons,CalTech,MOT17, CUHK-SYSU和PRW这六个。2. 数据简介2. 1 ETHZ参考地址Ess等构建了基于双目视觉的行人数据库用于多人的行人检测与跟踪研究。该数据库采用一对车载的AVT Marlins F033C摄像头进行拍摄,分辨率为640×480,帧率13-14fps,原创 2020-09-03 16:36:46 · 915 阅读 · 0 评论 -
Paper reading:Deformable ConvNets v2(pytorch1.6编译)
Deformable ConvNets v22. pytorch1.6编译LZ其实是为了预研FairMOT论文,然后需要配置dcnv2的环境,期间当然不是一帆风顺的,已经习惯了。。。其中有几个报错还是很多小伙伴会遇到的,在github上也有很多类似的issue,所以就重新开一篇,毕竟也是一篇CVPR,它值得的。DCNv2_new/src/cuda/dcn_v2_cuda.cu(107): error: identifier "THCState_getCurrentStream" is undefin原创 2020-09-03 14:59:26 · 1798 阅读 · 1 评论 -
人脸姿态估计预研(二)
人脸姿态估计预研(二)1. 背景为什么要写第二篇,因为第一篇写的很简单,自己的思考部分比较少,并且还有一些细节需要补充2. 算法部分2.1 到底使用多少个点?这个确实是一个比较实在的问题,因为博客里LZ也看到不少,基本上都是参考opencv与DLIB那篇博客博客的,下面评论中有很多问题,自然LZ也是有很多疑惑的。首先一个问题便是到底用多少个点?这些点的3D模型怎么得到的,模型应该也是有对应的方向的,怎么对应呢?因为姿态估计都是近似的使用一个通用人脸的3D模型,所以LZ也就借鉴一下这种做法首先下原创 2020-08-27 15:23:44 · 3042 阅读 · 3 评论 -
深度学习:模型转换(pth转onnx转caffemodel)
模型转换(pth转onnx转caffemodel)一、背景介绍因为模型要用到前端,所以要将pytorch训练的模型转成caffemodel,之前LZ已经写了一片tensorflow转caffemodel的教程,今天就总结一篇pytorch转onnx转caffemodel的教程二、pth转onnx这个严格意义上是DBFace系列的第四部分,但是主要是用来转模型,对其他模型也是适用的,于是就单独拎出来了,首先放上代码import commonimport eval_toolimport torch原创 2020-08-20 16:15:00 · 6821 阅读 · 2 评论 -
人脸姿态估计简单预研(DLIB+OpenCV,含python代码示例)
人脸姿态估计简单预研一、 背景介绍其实背景很简单,就是有些算法针对正脸的效果很好,但是对于特别大的侧脸,效果就不是很好,所以需要需要根据人脸姿态来进行过滤。二、 算法的简要介绍1. 什么是姿态估计在计算机视觉中,对象的姿态是指其相对于相机的相对方向和位置,我们可以通过相对于相机移动对象,也可以相对于对象移动相机,还可以同时移动相机和对象,如果相机和对象保持相对静止,虽然相机和对象在世界坐标系中的位置改变了,但是两种之间的关系并没有变化,换句话说你从相机中获得对象的图片并没有变化,那么我们也可以认为原创 2020-08-19 14:37:38 · 3061 阅读 · 1 评论 -
DBFace: 源码阅读(三)
7 推断部分推断部分主要是在test.py中主要函数其实很短,如下,代码其实被我改了一部分,和原始的github上可能有点区别mean = [0.408, 0.447, 0.47]std = [0.289, 0.274, 0.278]# trial_name = "small-H-dense-wide64-UCBA-keep12-noext-ignoresmall2"trial_name = "mv2-320x320-without-wf_20200811"jobdir = f"jobs原创 2020-08-15 14:27:00 · 736 阅读 · 0 评论 -
DBFace: 源码阅读(二)
上篇链接看LZ上篇博客的时间竟然是7月18日,着实是懈怠了,其实有很多东西需要总结归纳,这周末就补一下之前欠的债吧上篇主要介绍了DBFace的大体框架,这篇主要介绍数据的预处理部分5. 数据预处理pytorch数据一般是要写一个类函数来继承Dataset类的,需要定义三个函数__init__(self), len(self), getitem(self)这三个函数,在DBFace中的代码如下所示:class LDataset(Dataset): def __init__(self, lab原创 2020-08-15 11:27:52 · 859 阅读 · 0 评论 -
深度学习:一文解决卷积,池化,反卷积的维度问题(包含一些工程思考)
一文解决卷积,池化,反卷积的维度问题1. 背景其实这个之前LZ对这个关注度不是很高,像tensorflow,选择‘valid’和‘same’也就可以了,但是对于caffe不可以。并且在海思芯片使用的caffe1.0,据前端同事说很多骚操作在前端都是不支持的,哭泣中,即使在重训的时候可以重新写C,来添加层,在NNIE推断结果还是不行。。。按理说华为内部应该是有一波大神来构建对应的代码来支持比较新的网络层的,这应该也算是一种技术壁垒吧,纯属猜测。还有量化误差的问题,这个真的也是无力吐槽,据说9月份就会出原创 2020-07-18 16:40:19 · 1309 阅读 · 0 评论 -
DBFace: 源码阅读(一)
DBFACE: 源码阅读1. 背景DBFace框架是可以同时获得人脸检测和关键点定位,相较与人脸检测和关键点定位分开的做法有一定的优势,减少了对原图的crop和resize操作,并且对多人脸的情况,这种操作是对人脸个数敏感的,后期倾向也是将人脸检测和关键点定位,甚至后期的segmentation放到一套代码中去完成了.使用DBFace的原因主要还是算法很快,精度也不错!2. 总体框架(App类)代码的主体是作者创建了一个App类,其中主要是超参数的设定,网络结构的设定,三个loss的定义,数据的下原创 2020-07-14 18:27:34 · 2467 阅读 · 8 评论 -
关于cuda和cudnn版本的一个问题?
关于cuda和cudnn版本的一个问题?今天LZ进行inference测试的时候,以前倒是真的没有太在意,觉得cuda和cudnn版本只要对应匹配就没有什么太大问题,但是这次训练的模型,在不同版本的cuda和cudnn上测试,结果确相差甚远,用的是相同的代码和模型,LZ一度认为是不是模型保存错了,或者代码写的不一致的问题.因为是pixel2pixel的,所以inference结果是像素级的,现在存在的问题是肉眼可观的存在差异,今天一个同事也遇到了类似的问题,使用不同的环境复现论文时,效果降了5-6个点,原创 2020-06-02 16:33:36 · 655 阅读 · 0 评论 -
Pointet的读后感(CVPR2016):1.相关工作的介绍
最近看了一些点云处理的文章,因为机器一直在跑代码,差不多是一天能够训练两轮…服务器每天都得前一天晚上把代码实现好,早上抢占GPUO(∩_∩)O.哈哈~研究僧多,GPU少!接触到Pointnet其实非常偶然,LZ在slam里兜兜转转,一直想找一个好玩的方向,有数学大神做各种算法优化,提出各种BA方法,有MVG大神,对多视图几何了如指掌,凭直觉和坚强的数学功底,提出各种标定算法,还有图像处理大神提...原创 2018-11-23 21:43:49 · 800 阅读 · 3 评论 -
Paper reading SPLATNet: Sparse Lattice Networks for Point Cloud Processing(CVPR2018)
对SPLATNet的理解简要介绍SPLATNet为什么要直接处理点云呢?BCLs(bilateral convolutional layers)Step one: SplatStep two: convolveStep three: sliceBCL的一些性质SPLATNet网络结构总结参考文献:简要介绍SPLATNet其实,CVPR2019又出了很多关于点云的文章,SPLATNet是导师发给...原创 2019-04-01 15:02:27 · 814 阅读 · 3 评论 -
Caffe: tensorflow的模型到底怎么转成caffemodel??(完整的流程+代码讲解)
tensorflow的模型到底怎么转成caffemodel?1. 简介一般情况下,LZ是使用tensorflow的,好像之前在学校只要python跑通,benchmark再刷高一点就行了。现在在公司,要把自己的模型进行移植,之前是后端的移植,最近前端也提了需求,前端一般都是用海思芯片,只支持caffe,所以为了先测试时间得把tf的模型转成caffemodel。程序猿总有不会的,总有要学习的不...原创 2020-03-28 14:05:10 · 1386 阅读 · 4 评论 -
美颜算法预研存在的问题(2020.03.26更新)
现有美颜算法问题汇总:时间效率: 通常需要进行face detection和landmarks localization (时间耗时)肤色检测: 容易检测不完全,或者误检的情况,导致出现边界效应美白: 现在通常的美白(包括添加滤镜)这些操作都是对整幅图片进行操作的,在手机端也是,但是如果在大场景且人在画面中的占比较小容易浪费资源光滑: 使用双边滤波,导向滤波,快速导向滤波效...原创 2020-03-26 14:25:59 · 812 阅读 · 3 评论 -
Deep Learning: 几个查看模型的常用软件(无需安装)
1. Netscope一个用来查看caffe 的prototxt format的模型可视化网站http://ethereon.github.io/netscope/#/editor使用 Shift+Enter 就可以看到右边出现的网络结构了。2. NetronNetron所支持的可视化的框架:ONNX (.onnx, .pb, .pbtxt),Keras (.h5, .ker...原创 2020-02-22 10:41:15 · 2748 阅读 · 0 评论 -
Anaconda: 快速安装caffe
临时接到的任务,要在两天时间里,把tensorflow的模型转成caffe模型,但是LZ一上来学习的就是tf,所以对于caffe实在了解不多,但是任务紧急,不管如何,也得硬着头皮学习移植,把CUDA代码构建暂时先放两天,下面就是anaconda配置caffe的过程1.首先确保已经安装好了anaconda2.创建Anaconda对应的caffe envconda create -n caffe...原创 2020-02-18 10:24:35 · 1776 阅读 · 7 评论 -
CS231n系列课程Lecture 5:Train Neural Networks, Part 1
第五课的链接: http://pan.baidu.com/s/1eS89t8e 密码: 79te课程首先讲了两个误区:1)卷积神经需要很多数据进行训练,这是错误的,通常情况下我们可以使用训练好的网络对其进行微调(finetune)就可以了。如果数据集的尺寸很小,可以直接改最后一层softmax分类器。如果数据集的尺寸中等,可以对网络进行微调,重新训练全部网络或对某些高层的网络进行训练。(例如:使用c原创 2017-04-15 11:03:30 · 1171 阅读 · 0 评论 -
CS231n系列课程Lecture 3: Loss functions and Optimization
老规矩,先贴出网盘链接,有需要的小伙伴可以自己去下载哦!链接: http://pan.baidu.com/s/1eRBa0nw 密码: skje。1.Loss Function(损失函数)上节课我们讲到视觉识别中有很多的挑战例如:相机位姿,光纤,变形,遮挡,背景杂乱等问题。然后提出了数据驱动的KNN算法,接着介绍了线性分类器。上节课结束的时候留下了一个问题,就是我们怎么能够比较好的选择分类器的权重W原创 2017-04-04 10:52:43 · 1169 阅读 · 0 评论 -
CS231n系列课程Lecture4:Backpropagation and Neural Networks(part 1)
先贴出课程链接: http://pan.baidu.com/s/1cBznv4 密码: 7nbg课程开始回顾了一下得分函数,SVM loss, data loss + regularization,还有optimization,常用的方法就是Gradient Descent,梯度下降,数值梯度存在速度慢,求得的是近似解的问题,但是代码比较好写。解析梯度使用的是微积分的方法,速度快,很精确,但是代码稍原创 2017-04-12 10:37:02 · 922 阅读 · 0 评论 -
CS231n系列之Lecture 2: Image Classification pipeline
按照之前的习惯,先贴出链接: http://pan.baidu.com/s/1i51aUOX 密码: 6crw。如果有兴趣的话,可以下载课程的视频和pdf。在http://cs231n.github.io/python-numpy-tutorial/可以看到关于numpy的tutorial,有兴趣的话可以下载一下。在计算机视觉中,有一个核心问题就是图片的分类问题。在我们通常意义上看到的彩色图片通原创 2017-03-31 13:37:17 · 1750 阅读 · 0 评论 -
CS231n系列课程Lecture6: Training Neural Networks, Part 2
课程链接: https://pan.baidu.com/s/1mhGp08K 密码: xgexParameter Updates1.梯度下降(最速下降法)这个就是简单的梯度下降,dxdx就是求出的梯度,就是个微小增量,学习率是设置的超参数,也就是步长,如果梯度为正,所以说明函数上升,所以xx要加上负梯度。求出的梯度只有方向,学习率决定xx改变的大小,这就是最简单的梯度下降的思想那么按照上面的方法,如原创 2017-05-03 15:34:15 · 1325 阅读 · 0 评论 -
CS231n系列课程Lecture 7: Convolutional Neural Networks
贴出课程PPT和视频链接: https://pan.baidu.com/s/1c2H2k9a 密码: ye4nConvolution Layer(卷积层)哈哈,先贴出张卷积层的工作原理图。假设我们接收到的图片式32×32×3的图片,长为32,宽为32,3代表是rgb三通道,右侧有个小长方体,尺寸为5×5×3,5×5代表的是卷积核的大小,有些时候也称卷积核为滤波器,这些说法都是通用的,值得注意的是卷积原创 2017-05-08 10:54:00 · 1499 阅读 · 2 评论 -
CS231n系列课程Lecture8:Spatial Localization and Detection
老规矩,先贴出视频的链接: http://pan.baidu.com/s/1pKD2PXh 密码: xx8s。好久没有写这个系列的课程了,是LZ最近有点懈怠了。。。这节课程讲述了主要是空间的定位和检测问题,这两个任务在ImageNet上都有比赛,有兴趣的小伙伴可以好好准备准备参加比赛哦。在计算机视觉的任务中主要有以下几个分类:在单目标任务中:主要是进行分类,如下图第一张,对图片中出现的猫咪进行分类,原创 2017-05-30 15:15:53 · 1443 阅读 · 3 评论 -
CS231n系列课程Lecture9: Understanding and Visualizing Convolutional Neural Networks
贴出第九课的视频链接: http://pan.baidu.com/s/1kVOGFg7 密码: b3bx,小伙伴有兴趣还是可以下载视频和PPT再进行仔细研究的,LZ学识有限对于有些方面理解不是很透彻,如果有理解不正确的地方还是请小伙伴们指正。这节可主要讲的是对于神经网络方面的理解和可视化,所以是很酷炫的一节课,可以看到许许多多有趣的图片。理解卷积神经网络也是个大门类,也没有想象中的那么简单。本节可主原创 2017-05-31 20:23:35 · 1233 阅读 · 0 评论 -
PointSIFT尝鲜
之前也做过点云处理,但用的都是传统的方法,比如说进行平面拟和,有很老的region grow, random seed或者利用层次聚类进行,计算对应法线之类的,这个PointSIFT首先比较吸引LZ的是好多公众号都在报导,在Scannet数据集上效果非常好。二来,也有一定时间没接触深度学习了,tensorflow之类的了,找一个开源的代码读读,回忆回忆。有可能再修改改??贴出具体论文的信息:...原创 2018-07-17 21:31:57 · 8075 阅读 · 28 评论 -
CASE SOLVED:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driverr
如果,你是程序媛、程序员,请给他们一点点鼓励吧!最近项目来了,LZ的小伙伴们一个个都被摧残的不行,每个人都讨论不同的任务,都觉得自己的任务是非常难的,家家有本难念的经,而且,程序有的时候放在自己电脑上跑的飞快,放到平台上就寸步难行,什么接口不匹配啊,tensorflow版本不一样啊,python版本不一样,这都是问题,所以感觉如果你当了程序员、程序媛都是在修行(≧▽≦)/啦啦啦好了,言归正传,...原创 2019-09-03 14:07:07 · 32956 阅读 · 38 评论 -
DLIB关键点检测初探
主要还是项目要求吧,需要进行人脸68个关键点检测,然后网上寻找一番,发现DLIB库使用还是挺高的,然后就在上篇博客中简单记录了一下DLIB 19.17的配置过程,但是还是要尝试下它的程序的。LZ修改过的版本由于保密原因就不进行展示(≧▽≦)/啦啦啦,给出官方给的源码吧。#include <dlib/image_processing/frontal_face_detector.h>...原创 2019-09-09 10:51:43 · 1280 阅读 · 0 评论 -
CS231n系列之 Lecture1:Introduction
实验室老师的要求,是要自己学习斯坦福大学的CS231n的课程,所以,准备做一系列用以记录自己学习的过程。下面的链接是第一节课的视频,ppt,以及字幕,但是字幕比较不好,很多错误,时间关系也就不进行更正了。 链接: https://pan.baidu.com/s/1c1DL9r6 密码: b3xf 链接: https://pan.baidu.com/s/1mhZPS6k 密码: n3wx 链接:原创 2017-03-22 18:38:54 · 2101 阅读 · 0 评论