文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. 官网介绍
1. Caffe
Caffe是一个以表达式、速度和模块化为核心的深度学习框架,由BLVC(Berkeley Vision and Learning Center)和社区贡献者开发。项目创建者是贾扬清。
2. Feature
- Expressive architecture
具有表现力的结构鼓励应用和创新。模型及优化是通过配置定义的,而不是使用硬编码的方式。可以在GPU和CPU之间无缝切换,可以用GPU训练,然后部署到集群或移动设备上。
- Extensible code
具有扩展性的代码促进了Caffe的积极发展。Caffe第一年fork超过一千次,有许多有意义的贡献和反馈。由于众多的贡献者,Caffe框架跟踪并实现了当前最新的代码和模型。
- Speed
快速性使Caffe适合研究实验和工业开发。Caffe在单个的NVIDIA K40 GPU上每天能处理6千万张图片。识别时速度为1ms/张,训练时速度为4ms/张,BLVC相信Caffe具有最快的卷积神经网络实现。
- Community
Caffe已经支持学术研究项目,启动原型,甚至支持大规模视觉、语音和多媒体的工业应用。
3. Document
一个介绍Caffe的PPT
实践指导和框架参考
安装,已经在Ubuntu,Red Hat,OS X上测试过了。
模型规范及已经训练的模型
API文档,通过代码中的注释生成的。
4. Demo
在ImageNet上训练和测试CaffeNet
。
Yann LeCun的手写字符识别,训练和测试。
CIFAR-10数据集上Caffe的训练与测试。
ImageNet上训练的CaffeNet在Flickr Style
数据集上的调优。
用Caffe工具提取CaffeNet和AlexNet特征。
用底层API进行图像的简单分类
运行在Flask web服务器上的图像分类Demo
在MNIST数据集上训练和测试siamese网络。
5. NoteBook Demo
通过预先训练的模型进行图像实时识别,对神经网络的每层特征和参数进行可视化,可以了解可视化的神经网络接口。
使用Python定义、训练、测试经典的LeNet。
在新数据集上对ImageNet上训练的CaffeNet进行调优。
使用Caffe作为一般的SGD优化器在非图像的HDF5数据上训练逻辑回归。
使用Python数据层在PASCAL VOC上进行多标签分类。
怎样修改神经网络,手动改变模型参数来进行定制化使用。
在Python中使用预先训练的模型作为检测器来进行目标检测。
提取特征、绘制Siamese网络嵌入。
6. Philosophy
- Expression
模型和优化都是通过纯文本模式定义的而不是通过代码的方式。
- Speed
对于研究和工业而言,在最新的模型和大规模数据上具有同样的速度是关键。
- Modularity
新任务及设置要求灵活性和可扩展性
- Openness
科学和应用进展需要通用的代码、参考模型和再现性。
- Community
学术研究、启动原型和工业应用通过在BSD-2项目中的联合讨论和开发实现所有共享。
7. Tour
- Net,Lays and Blobs
Caffe模型的结构组成
- Forward/Backward
分层结构模型的基本计算
- Loss
通过损失函数定义要学习的任务
- Solver
求解程序协调模型优化
- Layer Catalogue
这一层是建模和计算的基本单元,Caffe的目录包含最新模型的层
- Interfaces
命令行,Python,MATLAB
- Data
怎样将模型输入变为Caffe能处理的数据
- Caffeinated Convolution
Caffe怎样计算卷积
2. 普通介绍
1. Caffe介绍
在深度学习领域,Caffe框架是人们无法绕过的一座山。Caffe是一个用C++编写的深度学习框架,作者是UC Berkeley博士贾扬清。由于Caffe清晰、高效,因此在深度学习中被广泛使用,用户逐渐地也形成了一个开放的社区,一些重要的研究成果(主要是各种模型)被引入到了Caffe中,例如著名的AlexNet。
Caffe无论在结构、性能上,还是在代码质量上,都是一款非常出色的开源框架。它将深度学习的每一个细节都原原本本地展现出来,大大降低了人们学习、研究和开发的难度。
Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口。Caffe的清晰性表现在网络结构与参数都独立于代码,用户只要以普通文本(但需遵循一定的简单格式)就可以定义好自己的神经网络,并按自己的需要进行调整。而高效性则体现在对CUDA的支持,GPU 运算能极大地提高图像处理的速度,同时Caffe提供了在CPU模式和GPU模式之间的无缝切换。
2. Caffe特点
上手快:模型与相应优化都是以文本形式而非代码形式给出。Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。
速度快:能够运行最棒的模型与海量的数据。Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.
模块化:方便扩展到新的任务和设置上。可以使用Caffe提供的各层类型来定义自己的模型。
开放性:公开的代码和参考模型用于再现。
社区好:可以通过开源社区和Github参与讨论和开发。
参考资料: