Caffe是一个清晰、高效、模块化深度学习框架。其作者是博士毕业于加州大学伯克利分校(UC Berkeley)的贾扬清(Yangqing Jia)创建的,Caffe是根据 BSD 2-Clause许可证发布的。
Caffe项目的指导原则:
- 清晰的表达,将模型和优化定义为文本而不是代码。
- 高性能,对于研究和工业级应用来说,速度对于最先进的模型和海量数据至关重要。
- 通过模块化来完成新任务和设置所需要的灵活性和扩展性。
- 保持很强的开放性,科学和应用进展都通过通用代码和参考模型来实现重现。
- 通过社区进行学术研究,初创原型和工业级应用都通过在BSD-2项目中进行讨论和开发并最终共享。
Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。
安装
Caffe可以安装在Ubuntu 16.04-12.04或者OS X 10.11-10.8上,另外也可以通过Docker和AWS安装和运行Caffe。我们以Ubuntu 14.04上安装Caffe为例。
1.首先安装依赖:
Caffe必须的依赖关系:
- 库版本建议使用7+和最新的驱动程序版本,但6.*也支持的很好,5.5和5.0是有保留的兼容。
- BLAS通过ATLAS,MKL或OpenBLAS。
- Boost >= 1.55
- protobuf,glog,gflags,hdf5
可选依赖关系:
- GPU模式需要CUDA,可以只安装CPU模式。
- OpenCV >=2.4
- IO库:lmdb,leveldb(注意:leveldb需要snappy)
- cuDNN用于GPU加速(v5)
- Pycaffe和Matcaffe接口有自己的自然需求。
- 对于Python Caffe:Python 2.7或Python 3.3+,numpy(> = 1.7),boost提供的boost.python
- 对于MATLAB Caffe:MATLAB与mex编译器。
|
|
2.安装Caffe
3.配置Makefile.config,取消批注激活 CPU_ONLY := 1 的配置项。
4.编译
5.测试安装是否成功
minst
minst是手写字体库,caffe在mnist自带的是使用leNet的网络结构。LeNet广泛应用于美国的支票手写字体识别。mnist数据训练样本为60000张,测试样本为10000张,每个样本为28*28大小的黑白图片,手写数字为0-9,因此分为10类。
下载minst:
生成lmdb文件:
修改leNet的配置文件,你可以在max_iter处设置最大迭代次数,以及决定最后一行solver_mode,是否要改成CPU
运行(耐心等待):
从结果上来看,经过不停的迭代后,在mnist上识别正确率能达到98.99%。