Caffe 专题一简介
什么是caffe
一个清晰、高效的深度学习框架。(核心底层语言是C++)
全称: Convolutional Architecture for Fast Feature Embedding(快速特征嵌入的卷积体系结构)
简介:
caffe 的基本工作流程是设计建立在神经网络的一个简单假设,所有的计算都是层的形式表示的,网络层所做的事情就是输入数据,然后输出计算结果。
eg:
比如卷积就是输入一幅图像,然后和这一层的参数(filter)做卷积,最终输出卷积结果。每层需要两种函数计算,一种是forward,从输入计算到输出;
另一种是backward,从上层给的gradient来计算相对于输入层的gradient。这两个函数实现之后,我们就可以把许多层连接成一个网络,这个网络输入数据(
图像,语音或其他原始数据),然后计算需要的输出(比如识别的标签)
在训练的时候,可以根据已有的标签计算loss 和 gradient,然后用gradient 来更新网络中的参数。
caffe 的特点
模块化
caffe 设计之初就做到了尽可能的模块化,允许对数据格式、网络层和损失函数进行扩展。
表示和实现分离
caffe 的模型定义是用Protocol Buffer(协议缓冲区)语言写进配置文件的,以任意有向无环图的形式,caffe支持网络架构。caffe会根据网络需要正确占用内存,通过一个函数调用来实现CPU 和 CPU之间的切换。
测试覆盖
每一个单一的模块都对应一个测试
python 和 ma