- 博客(13)
- 收藏
- 关注
原创 matlab从一个文件夹路径循环读取所有图片
用matlab作图像处理时,有时要从某个路径下读取里面的所有图片,下面例子从文件夹“E:\图片\DataSet”读取所有图片。pt = 'E:\图片\DataSet\';ext = '*.BMP';dis = dir([pt ext]);nms = {dis.name};for k = 1:1:length(nms) nm = [pt nms{k}]; image...
2018-04-15 19:32:21 18324 3
原创 深度学习模型压缩加速
1、剪枝(1)Deep Compression这篇文章(Stanford的Song Han)如图 1所示,剪枝需要三个步骤,首先是训练一个普通的神经网络;然后我们选择一个阈值,将权重小于阈值的连接剪开,这样就得到一个稀疏连接的网络了(图 2);剪枝后网络性能肯定会下降一些,所以最后我们对这个稀疏网络进行再训练,将性能提上去。对AlexNet,剪枝可以减少9倍的参数,对VGG-16网络,剪枝能减少13
2017-10-11 23:28:15 3368
原创 二值形态学
1、膨胀膨胀是使图像中的目标“生长”或“变粗”的过程。这种特殊的方法和生长程度由一种被称为结构元的形状来控制。结构元的原点必须被明确表明。 把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。用公式表示为: D(X)={a | Ba↑X}
2017-09-05 19:41:08 960
原创 tensorflow中的激活函数
1、sigmoidtf.sigmoid(x, name = None)y = 1/(1 + exp(-x))2、tanhtf.tanh(x, name = None)tanh(x) = sinh(x)/cosh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))3、relutf.nn.relu(x, name = None)relu(x) = max(0, x)
2017-09-05 16:05:08 3208
原创 tensorflow CNN实际例子
本程序对tensorflow建立CNN模型进行编程。程序中使用的数据集是钢板缺陷图像数据集。对钢板缺陷图形进行分类缺陷一共五类,每类图片数量是300张,一共1500张,训练集和我测试集的比例是4:1。图片尺寸是200×200。 程序包括两个文件: (1)训练集测试集生成文件:load.py (2)CNN模型建立、训练和测试文件:CNNmodel.pyload.py文件# load the da
2017-08-29 21:32:12 3182 4
原创 OpenCV中用Canny算子进行边缘检测
1、Canny原理Canny算子是目前找到的一个最优的边缘检测算子。主要通过以下4个步骤: step1:用高斯滤波器平滑图象; step2:用一阶偏导的有限差分来计算梯度的幅值和方向; step3:对梯度幅值进行非极大值抑制; step4:用双阈值算法检测和连接边缘。 具体的内容可以参考这篇文章。2、OpenCV代码#include <iostream>#incl
2017-08-28 18:57:45 1525
原创 tensorflow入门实践例子—MNIST手写数字识别
MNIST是手写数字图像数据集,是一个用于图像识别基础数据集。 这里用tensorflow实现MNIST手写数据集,用两种方法:一种是普通的BP神经网络;另一种是卷积神经网络。 这里的Python版本是2.7,tensorflow版本是1.0。1、BP神经网络读取MNIST数据集文件mnist_input.py"""Functions for downloading and reading MN
2017-08-18 19:07:20 709
原创 CUDA均值滤波和中值滤波编程
1、均值滤波代码主要包括两部分:主机端(CPU)的调用函数和设备端(GPU)的滤波执行函数。 主机端调用函数:分配线程、分配内存还可以对设备端执行进行计时; 设备端滤波执行函数:是图像进行滤波的执行函数,是整个CUDA程序的核心,也叫kernel。主机端调用函数://主机端调用函数 extern "C" void runtestGPU(unsigned char *dst, unsign
2017-08-18 13:18:34 6108 2
原创 const引用const指针以及constexpr
1、初始化const对象一旦创建后的其值就不能改变,所以const对象必须初始化。 初始值可以是任意地复杂表达式: const int i = get_size(); // 正确:运行时初始化 const int j= 42; //正确,编译时初始化 const int k; /
2017-08-13 19:40:23 1546
原创 神经网络激活函数和损失函数
激活函数1、sigmoid sigmoid函数曲线如下:sigmoid激活函数,符合实际,当输入值很小时,输出接近于0;当输入值很大时,输出值接近于1。但sigmoid激活函数有较大的缺点,是主要有两点:(1)容易引起梯度消失。当输入值很小或很大时,梯度趋向于0,相当于函数曲线左右两端函数导数趋向于0。(2)非
2017-08-10 19:22:13 16877
原创 神经网络参数更新方法
神经网络参数更新方法SGD及变种1、普通SGD update SGD(Stochastic Gradient Descent)就是最常见的随机梯度下降。 向着参数的梯度的负方向改变(梯度方向是增加的方向)。 这里的x可以是权值w也可以是偏置b。2、Momentum update 相比于普通SGD,这种方法在深度网络中收敛更好。
2017-08-08 21:07:59 11205
原创 卷积神经网络减小过拟合方法
卷积神经网络减小过拟合方法防止过拟合的方法有三类:(1)人为增加数据集;(2)正则化;(3)Dropout。人为增加数据集在原有在训练图像识别的深度神经网络时,使用更多的图像数据集训练的模型会使训练的网络具有更好地泛化性能,减小过拟合。增加图像数据集的方法是对原始图片进行旋转、镜像。正则化正则化有两种方法:L1正则化和L2正则化。1、L1正则
2017-08-08 19:46:42 9611
原创 CUDA和GPU介绍及两者之间的关系
前言:去年7月份来华科的时候博士师兄就和我说学的东西一定要整理成文档,这是一种习惯,以后查阅比较方便。 我学的实现并行计算的CUDA,以前实验室还没有师兄师姐学过这个,我是第一个学CUDA的。由于是第 个 学, 所以很多东西需要我自己一步一步去摸索。确实,从安装到调试,从查找资料到编程,遇到不少困难, 但学到了很多东西。
2016-03-21 11:57:37 2987
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人