
深度零散知识点
文章平均质量分 64
颐水风华
框架:tensorflow pytorch tensorrt cuda cublas opnecv。
语言:c、c++ python。
展开
-
深度学习一些东西的理解
下采样-空洞卷积、yolov5-5.0的 focus层理解原创 2022-09-17 15:46:25 · 875 阅读 · 1 评论 -
伪编程语言表述
首先看个例子吧,这是来之thinet的论文。语法 说明 Algorithm 描述算法的作用、解释算法应用、标题。 Input 算法的输入变量 Output 输出变量 这三个都各占一行。语法 说明 while 条件 do code.. end while 循环 for 条件 do code。。 end for 循环 A<-B; A...原创 2020-10-05 18:19:51 · 811 阅读 · 0 评论 -
tensorflow 实现全局平均池化
有两种方法一方法,这里用的tf.nn。可以用tf.layers代替。 p05 = tf.nn.avg_pool2d(conv10,ksize=[1,conv10.get_shape().as_list()[1],conv10.get_shape().as_list()[1],1],strides=[1,1,1,1],padding=VALID',name='GAP')二方法 p05 = tf.reduce_mean(conv10, [1, 2], keep_dims=True, name原创 2020-09-18 22:50:29 · 4661 阅读 · 2 评论 -
剪枝算法汇总
先说废话,目的剪枝,就是剪掉w和b种的不重要的部分,留下重要的。一般流程为,训练好的模型--剪枝--retrain--剪枝。剪枝,有slim和pruning之分。怎么分呢?我就不说了。说下剪枝分为静态的和动态的。他们的区别是是否边训练边剪枝。剪枝的关键在于如何去设置阈值,来剪掉不重要的。下面讲讲方法,01 简单粗暴的剪枝直接剪枝,去掉w和b中百分之多少的值。我查论文发现几种方法:只保留正值部分 保留正值和负值中的百分之多少 保留正值中的百分之多少 去掉极大极小值原创 2020-08-10 17:10:31 · 3723 阅读 · 0 评论 -
如何在自己的model中,加入签名。
这个方法不是最好的。但是如果有人想用他用你的模型,这个可以作为证据。具体方法:找到一个层,这个层的参数不能太多(计算不影响速度),然后加上日期,比如今天20200727,然后在剪掉。这个日期也可以用公式重新编码下,以免别人能察觉出来。有的时候,你需要把自己的模型给你应聘的公司看,但是不想他们使用。如果使用了。你可以通过这个来说事。...原创 2020-07-27 22:48:54 · 310 阅读 · 0 评论 -
tensorflow与keras对应关系
https://docs.floydhub.com/guides/environments/keras <= 2.3.1的版本,没有model.weight_load函数原创 2020-07-21 11:16:19 · 5352 阅读 · 0 评论 -
稀疏训练
什么是稀疏训练,看下面的流程。说白了,就是删除cnn中weight,某个面中不要的值。如何取这个阈值呢?一般都是方差作为标准。也有把负值设为0的。这里感觉像什么?激活函数吧。也是剪枝的一种,不同于通道剪枝,会加速运算。只是提高准确率性。参考http://www.xjishu.com/zhuanli/55/201710473955.html...原创 2020-07-15 16:21:13 · 5473 阅读 · 0 评论 -
某些激活函数真的对模型有作用吗?
激活函数作用是什么?给w+b一个约束。要么是排除赋值(relu),要么是缩放到一个范围(tanh等),或者更加极端(1,0)。下面是一个训练好(flowers acc 74.6%)的vgg16中某一层的w中的一个feature值。可以看到其中正负都有。不能排除其中负的部分对模型的准确率没有影响。假设,如果他有作用,那么可能是在纠正太“正”(过拟合)的作用。才会有relu的变形,prelu。上图为w上图为b我认为负值也很重要,选择激活函数,应该想到。我这么理解的,可能不对。...原创 2020-07-08 12:50:46 · 643 阅读 · 0 评论 -
深度学习中的缩写
真的好烦缩写,特别容易弄混,我在毕业答辩时候,老师也说,比用缩写,特烦。下图来源于:2019,苏州科技大学,康一帅,基于卷积神经网络的图像识别算法研究[D]粗略看一下,发现其40页,59页是空白页。可能毕业太着急了。。。...原创 2020-05-09 09:57:34 · 1813 阅读 · 0 评论 -
4d矩阵与2d矩阵相互映射关系
4d矩阵与2d矩阵相互映射关系,svd降维时候用到。import cupy as cpd4 = cp.linspace(1, 1000, 1000).reshape(10, 4, 5, 5) # [N,C,d,d]def four_2_two(d4): N, C, d, _ = d4.shape d2 = cp.empty([d * N, d * C]) ...原创 2020-04-07 23:22:32 · 860 阅读 · 0 评论 -
优化器及其优缺点
目录目录1. SGD2. Momentum(动量)3. Nesterov Accelerated Gradient Descent (NAG)4. AdaGrad5. AdaDelta6. RMSProp7. Adam总结优化器优化的是学习率,他发生在反向运算中。学习率衰减,是每次迭代衰减的方法,在前向运算中。1. SGD.在这里SGD和mini-b...原创 2019-06-24 02:03:53 · 5985 阅读 · 0 评论 -
学习率衰减方法
目录指数衰减固定值衰减按步长衰减给定值衰减优化器优化的是学习率,他发生在反向运算中。学习率衰减,是每次迭代衰减的方法,在前向运算中。学习率设定思路是前期一个较大的学习率来确保加速收敛,后期用较小的学习率保证稳定。一般都是0.01,0.005,0.0001等等之类的,设置初始值。指数衰减固定值衰减按步长衰减基础学习率。小于1衰减率。...原创 2019-06-24 00:29:37 · 14499 阅读 · 2 评论 -
深度学习 常见的损失函数
https://zhuanlan.zhihu.com/p/35027284当我们初学深度学习时,对于激活函数和损失函数的选择并不了解,这里提出一些建议,需要注意的是,这里给的是最后一层的激活函数问题类型 最后一层激活函数 损失函数二分类问题 sigm...转载 2019-06-20 07:57:37 · 6503 阅读 · 0 评论 -
权重初始化方法及适用情况
1. Gaussian从具有固定均值(例如0)和固定2的标准差(例如0。01)的搞死分布中随机抽取权重,这是最常用的.一般使用截断高斯。2. Xavier这种方法是但的缩放均值或者搞死分布进行初始化在caffe,他通过从零均值和特定方差的分布中绘制他们来初始化网络中的权重。其中w是所有讨论的神经元的初始化分布,而n_in是摄入神经元的神经元的数量,使用的分布通常是高斯...转载 2019-06-19 23:55:36 · 5904 阅读 · 1 评论 -
关于卷积层,全连接层,池化层的相关输出参数计算
目录说明全连接层FC,全连接NN卷积Convolutional模型占用显存的计算为了更好的说明问题,\另一个文中进行说明,本文内容都是一些概念/理论的东西,都是抄的。https://blog.youkuaiyun.com/weixin_39875161/article/details/88364442说明kernel == filterfeature map ×n ==...原创 2019-02-21 18:37:58 · 11486 阅读 · 1 评论 -
feature map理解
Feature Map是什么在CNN的设定里,Feature Map是卷积核卷出来的,你用各种情况下的卷积核去乘以原图,会得到各种各样的feature map。你可以理解为你从多个角度去分析图片。,而不同的特征提取(核)会提取不同的feature,模型想要达成的目的是解一个最优化,来找到能解释现象的最佳的一组卷积核。例如某个核如果形似gabor算子,就会提取出边缘信息的feature,但这...原创 2019-05-09 21:33:48 · 24186 阅读 · 2 评论 -
Center Loss
转载请注明出处 https://blog.youkuaiyun.com/Fire_Light_/article/details/79598497论文链接:A Discriminative Feature Learning Approach for Deep Face Recognition(需翻墙)代码链接:https://github.com/ydwen/caffe-face一个小实验作者...转载 2019-06-13 11:41:37 · 804 阅读 · 0 评论 -
激活函数
参考文献找打不到了,非常抱歉。激活函数激活函数负责为神经网络引入非线性特征。非线性激活函数可以使神经网络随意逼近复杂函数。没有激活函数带来的非线性,多层神经网络和单层无异。防止梯度消失或者爆炸。1.Sigmoidsigmoid激活函数:函数公式如下:求导函数图像如下:输入数据范围:[0,∞)优点: Sigmoid的取值范围在(0, 1),而...原创 2019-06-19 23:50:35 · 353 阅读 · 0 评论 -
opencv实现 maphot
用opencv查看图像的attention,形象观看效果,可以利用cv2.applyColorMap来生成图像。卷积中系数一般是1,直接相加。python代码如下:import cv2import numpy as np img = cv2.imread('img.jpg', 1) # 原图att = cv2.imread('demo_att.jpg',1) # f...原创 2019-05-23 16:17:29 · 448 阅读 · 0 评论 -
如何学深度学习框架
如何学深度学习框架?很多人学习框架不知道如何入手。框架就像玄幻小说的领域这个概念,框架里面是一个相对‘独立’的空间。那么说回来了,编程需要什么?数据,运算,函数。就这些东西。一、那么从简入难的开始学吧。基础就是数据,它包括:创建,修改,删除,元素类型的操作(修改),numpy--框架数据互转,修改数据形状等等。然后是运算,包括运算符,逻辑运算符,一定要注意框架是否支持广播运算。然后...原创 2019-03-27 12:12:00 · 370 阅读 · 0 评论 -
深度学习 踩的各种坑
未完待续,遇到问题解释一些问题clone_loss与多GPU问题clone_loss指的你在一个拥有多个GPU的服务器上训练模型的时候,就算你指定了GPU,设置了利用率,在目标设备无法完成需求情况下,tensorflow也会复制到多个gpu上运行。clone_loss的意思就是sum_loss。如果你只有一块GPU,那么就是clone_loss_1,就是所说的loss。开始跑程序...原创 2019-04-24 09:34:17 · 888 阅读 · 0 评论 -
用2d卷积替代全连接
最近在看slim代码。发现一个用"# Use conv2d instead of fully_connected layers.".做下记录.# vgg16net = slim.max_pool2d(net, [2, 2], scope='pool5')# Use conv2d instead of fully_connected layers.net = slim.conv2d(ne...原创 2020-02-04 19:58:33 · 1226 阅读 · 0 评论 -
分类与识别
今天面试遇到个问题,让我解释下分类与识别问题。其实我的理解是,分类是类间的问题,识别是类内的问题。而面试官给的答案是,分类是有目的的去做,知道有多少个类,然后去分。识别是无目标的去做,训练的时候,并非能用到目标数据集去训练,也就是说识别训练是识别能力。...原创 2019-04-16 10:46:36 · 5115 阅读 · 6 评论 -
张量分解
张量分解是模型加速的方法之一。其作用是减少参数量和计算次数。很多模型中都有应用的例子。比如vgg中,用2个3x3代替一个5x5; mobilenet的卷及分离; inception中在某些卷积核前面加上一个1x1。下面是5种的方法。可以在csdn上找到。可以研究下。CP分解 Tucker分解 Tensor-train Decomposition Tensorizing Neural Ne...原创 2019-12-07 12:04:26 · 835 阅读 · 0 评论 -
batch normalization
这里分五部分简单解释一下Batch Normalization (BN)。1. What is BN?顾名思义,batch normalization嘛,就是“批规范化”咯。Google在ICML文中描述的非常清晰,即在每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1. 而最后的“scale and shift”操...转载 2019-06-19 22:38:11 · 192 阅读 · 0 评论 -
Alexnet中的LRN
LRN全称为Local Response Normalization,即局部响应归一化层,LRN函数类似Dropout,是一种防止过拟合的方法。这个函数很少使用,基本上被类似Dropout这样的方法取代,见最早的出处AlexNet论文对它的定义, 《ImageNet Classification with Deep ConvolutionalNeural Networks》。是归一化后...转载 2019-10-17 12:31:47 · 1619 阅读 · 0 评论 -
可分离卷积
可分离卷积主要通过MobileNet接触的 空间可分离卷积(spatial separable convolutions) 深度可分离卷积(depthwise separable convolutions) 1 空间可分离卷积空间可分离指的是卷积(W x H)可分离为(1,H)和(W,1),如下所示,将3x3的卷积核划分为3x1和1x3的卷积核空间可分卷积之所以如...转载 2019-10-17 16:07:15 · 738 阅读 · 1 评论 -
医学图像分割模型的常用loss
下面是学习unet时候搜集的数据1.交叉熵损失函数-cross entropy 二分类交叉熵损失函数binary_crossentropy其中,N为像素点个数,y_{i}为输入实例x_{i} 的真实类别,\hat{y}_{i}为预测输入实例 x_{i} 属于类别 1 的概率. 对所有样本的对数损失表示对每个样本的对数损失的平均值, 对于完美的分类器, 对数损失为 0。...转载 2019-11-03 12:49:35 · 5493 阅读 · 0 评论 -
1x1卷积的作用
目录1、增加网络的深度2、升维或者是降维3、减少计算量1、增加网络的深度这个就比较好理解了,1x1 的卷积核虽小,但也是卷积核,加 1 层卷积,网络深度自然会增加。其实问题往下挖掘,应该是增加网络深度有什么好处?为什么非要用 1x1 来增加深度呢?其它的不可以吗?其实,这涉及到感受野的问题,我们知道卷积核越大,它生成的 featuremap 上单个节点的感受野就越大,随...原创 2019-11-03 22:12:37 · 4345 阅读 · 0 评论