自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除