matconvnet,使用CNN做Image Demosaicking,由于组内的师兄主要使用这个框架,率先对这个框架进行快速上手使用和学习,CS231N也不能落下,之后可以考虑对CAFFE进行学习。
配置
首选由于选择软件的版本上也做了点无用功,亲测之下使用一下组合是有效的。win8.1+VS2013+MatlabR2014a+CUDA7.5+Cudnn-rc5.
由于系统和Matlab的兼容性问题,感觉如此的组合是最为高效可靠的。
首先是mex -setup的问题,MatlabR2014a尚不支持VS2015的,为此我还体验了一会儿WIN10和VS2015.但考虑到后期开发和兼容性的问题,使用稳定版本是最为可靠的!对于下载后的源码,mex -setup设置成功后,直接跑vl_compilenn,则通过编译CPU的版本。这里着重说一下GPU版本,因为编译执行了很多次,不是编译就是运行代码时候遇到问题了,这里说一下自己的理解和亲测的过程。
首先使用了CUDA5.5的版本,但由于在编译时遇到了点问题,意识到应该使用7.5版本,而且无论caffe还是最近来说,7.5版本是比较稳定,而且适应我当前使用的TITAN X的显卡设备。然后使用vl_complinn(‘enableGpu’,true)则可实现普通GPU的版本。然而一直卡在使用cuDnn包的时候编译或者运行就出错。后来发现是用的rc-4的包不正确,应当使用官方的包,直接下了rc-5的版本。[建议任何的框架和库都使用官方版本!]最后终于成功了,跑cifar的example,1500Hz for gpu; cuDnn成功后,达到6700Hz!
学习
这俩天认真的学习了一下MatconvNet,主要看官网的所有资料,以及example例子,然后就是VGG的tutorial
顺带有空把后面每一个函数的注释看一下,学会用法;针对于使用CNN,可以参考一下过程:
1.Prepare Data
2.Set up Training parameters
3.Training Process:
for num = 1:nEpoch
train model on training set
test on validation set
end
4.Test on fianl test data