- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Caffe、Tensorflow及Matlab中的卷积计算
在深度网络中,卷积计算应用非常广泛。在图像处理中,卷积计算也就是图像像素矩阵与卷积核之间的点对点相乘在累加的运算,但是在不同的深度学习框架或者平台中,卷积实现的方式有一定的差异,所以我参考一些博客并根据个人的理解整理了Caffe,Tensorflow及Matlab中的卷积实现。首先,三者对于图像卷积的基本原理是相同的,不同的只是在矩阵变换的实现上,先回顾下卷积前后图像矩阵大小的变化。以二维...
2018-01-23 16:11:00 1767
原创 caffe学习:利用已训练的ceffemodel进行分类
在得到训练好了的ceffemodel后, 希望对任意一张图片进行分类/测试. 但不管用C++接口还是pyton接口来实现, 也不论是自己训练得到的caffemodel还是从其他地方获取的,都应该准备好三个文件: caffemodel、均值文件、synset_words.txt文件。
2018-01-16 16:17:34 894
转载 caffe学习:caffe图形化操作工具digits的安装与运行
也许有人会觉得比较复杂。确实,对于一个使用惯了windows视窗操作的用户来说,各种命令就要了人命,甚至会非常抵触命令操作。没有学过python,要自己去用python编程实现可视化,也是非常头痛的事情。幸好现在有了nvidia digits这款工具,这些问题都可以解决了
2018-01-16 09:27:57 744
原创 caffe学习:caffemodel可视化
网络架构的形象展示在构建完网络后, 我们得到一个xx_train.prototxt文件, 该文件中记录着每层网络的输入输出及规格等参数, 在地址http://ethereon.github.io/netscope/#/editor 左侧拖入xx_train.ptototxt文件, 按enter+shift组合键即可查看网络模型图, 非常具体形象.
2018-01-15 10:42:09 1849
原创 caffe学习:卷积计算
在caffe中如何计算卷积的? caffe中, 卷积网络的前向传播过程需要计算类似W∗x+BW*x+B这样的连接, forward_cpu_gemm()函数用weight矩阵和输入的bottom相乘, 然后对bias进行处理, bias程序会根据情况决定是否对bias进行scale(放大/缩小).
2018-01-11 17:00:35 737
原创 caffe学习:图片数据的均值计算
图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。
2018-01-09 20:26:02 951
原创 python图像处理:像素处理
利用Imgae.open()打开图像,再利用PIL对象进行操作。这样只是简单的处理,一旦操作复杂就比较困难。而像素级的处理与许多复杂操作相关。所以,通常我们在加载完图片后,都是把图片转换成矩阵来进行复杂操作。
2018-01-09 16:37:13 25045 2
原创 caffe学习:数据可视化初见
首先配置caffe的数据可视化环境python接口,参考博客数据可视化环境(python接口)配置,然后利用jupyter来编辑运行python代码。
2018-01-09 10:48:09 586
原创 python图像处理:打开、显示和保存
在python中拥有丰富的库,以进行各种开发。一般使用pip安装这些库。python自带有一个PIL库(python image library),但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。 pip install Pillow图像打开与显示from PIL import Imageimg=Image.open('/path/to/image'
2018-01-08 15:30:44 1201
原创 caffe学习:图像数据转换
【转】转载自:Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件
2018-01-04 20:36:25 430
原创 caffe学习:命令行解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。
2018-01-04 09:14:00 343
原创 caffe学习:solver优化方法简介
目前caffe提供了6种优化方法: - Stochastic Gradient Descent (type: “SGD”), - AdaDelta (type: “AdaDelta”), - Adaptive Gradient (type: “AdaGrad”), - Adam (type: “Adam”), - Nesterov...
2018-01-03 09:50:41 420
原创 caffe学习:solver配置
solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,我们需要通过优化方法来求解。
2018-01-03 09:28:16 411
原创 caffe学习:Blob、Layer、Net的说明及其配置文件编写
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。
2018-01-02 21:16:05 368
原创 caffe学习:其他层使用及其参数
其他一些常用层,如:softmax_loss层、Inner Product层、accuracy层、reshape层、dropout层等及其参数softmax_loss层softmax-loss层和softmax层计算大致是相同的。
2018-01-02 19:49:16 413
原创 caffe学习:Activation Layer及参数
在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。
2018-01-02 19:26:54 845
原创 caffe学习:vision layer及参数
Vision Layer包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层。
2018-01-02 19:05:01 384
原创 caffe学习:数据层及参数
运行caffe时,需要先创建一盒模型model,比如常见的Lenet、Alexnet等,模型是由多个layer构成,每一个layer又包含有多个参数,所有参数定义在caffe.proto文件中。layer具有多种类型,比如Data、Convolution、Pooling等,layer之间的数据流动以Blobs的方式进行。
2018-01-02 16:24:44 457
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人