deep learning---MatConvent框架的简单介绍(一)

Abstract:本文主要介绍MatConvent框架,意在熟悉Matlab能够利用MatConvent轻松搭建自己的网络完成相应的任务。

对于不熟悉C++人来说,改以C++为底层的深度学习代码难度非常大。这时我们可以以matlab为底层的代码来搭建自己的网络来实现自己的任务。目前有deeplearning toolbox和MatConvnet以Matlab为基础的深度学习框架。deeplearing toolbox完全是纯matlab语言编写,利用大尺寸图像训练的时候速度非常非常慢。MatConvent框架的conv和pooling是C++写的,而且支持CUDA,所以速度相对来说快点。对于熟悉caffe的人来说或者其他以C++底层,就没有必要使用MatConvent,因为MatConvent的速度比不上纯C++的深度学习框架。但不是每个人都熟悉C++,所以我就来讲讲MatCovnet。

1. MatConvent下载地址:http://www.vlfeat.org/matconvnet/,目前版本为version 1.0-beta20,版本都在更新之中。不过使用MatConvent好像需要Matlab2014b以上的版本,因为我的实验室电脑安装的Matlab2012b,我发现编译不通过,换了Matlab2014b就可以编译通过。

2. 编译Matconvent:可以参考http://www.vlfeat.org/matconvnet/install/可以帮助我们完成MatConvent编译。

3. Matconvent可以实现full connection neural network,也可以实现convolution neural network。整个Matconvent包括了crop层,conv层,pooling层,concat层,激活函数层,还有距离度量层,dropout层。如果我们想设计自己的层,我们可以编写一个前馈层和对应的反馈层即可,这里我们可以根据已有的层依葫芦画瓢的设计自己的层。

4. 设计自己的网络
以cifar为例子,初始化自己的网络在cnn_cifar_init中,里面定义了每一层的卷积核的个数和大小。包括输入图像的大小net.meta.inputSize,每一次迭代的学习率net.meta.trainOpts.learningRate;每一次训练的batch大小net.meta.trainOpts.batchSize;这些都是很容易改编的。

5. 训练好的模型
MatConvent有很多训练好的模型(http://www.vlfeat.org/matconvnet/pretrained/
有Face recognition model,http://www.robots.ox.ac.uk/~vgg/software/vgg_face/
Semantic segmentation的模型。
还有imagenet的模型,有vgg,google,AlexNet。
这些模型我们可以直接使用,也可以在此基础上finetuing。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值