【Caffe】Caffe代码结构

Caffe

Caffe 安装看 Installation, 第一个例子可以看 Training LeNet on MNIST with caffe 的示例.跟着示例做一遍,精确度能有 98% 左右,做完很有成就感.跑完之后可以跑更多的官方示例,它包括 Notebook Example 和 Command Line Example.

Caffe Tutorial介绍了 Caffe 的基础,其中也包括各种数据结构 http://caffe.berkeleyvision.org/tutorial/

Model Zoo有很多实现的网络和训练好的模型

接下来重点看一下 Caffe Tutorial 了解基本数据结构

目录结构

目录结构

数据结构类

src/caffe 目录下

blob.hpp / cpp  
layer.hpp / cpp  
net.hpp/cpp  
solver.hpp/cpp  
sgd_solvers.hpp/cpp blob , layer , net 的定义
   
solver _factory.hpp/cpp  
layer_factory.hpp/cpp 工厂类模板定义和普通 layer 的模板定义
   
caffe.hpp/cpp  
common.hpp/cpp 通用包含文件
   
internal thread.hpp/cpp  
parallel.hpp/cpp  
syncedmem.hpp/cpp gpu 编程和内存等较为底层的文件

IO 类

不同格式的数据读取层

base_data_layer.hpp/cpp  
data_layer.npp/cpp  
window_data_layer.cpp  
parameter_layer.cpp  
memory_data_layer.cpp  
dummy_data_layer.cpp  
hdf5_data_layer.cpp  
hdf5_output_layer.cpp  
image_data_layer.hpp/cpp 不同格式的数据读取层
   
data_transformer.hpp/cpp 数据的预处理,增强等变换

基础函数类

math.hpp / cpp 基本数学操作,加减乘除
   
absval_layer.hpp / cpp  
exp_layer.hpp / cpp  
log_layer.hpp / cpp 基础数学函数变换
   
power_layer.hpp /cpp  
tanh_layer.hpp / cpp  
sigmoid_layer.hpp / cpp  
relu_layer.hpp / cpp 若干激活函数

形状处理类

flatten_layer.hpp/cpp  
slice_layer.hpp / cpp  
split_layer.hpp / cpp  
tile_layer.hpp / cpp  
concat_layer.hpp / cpp  
reduction_layer.hpp / cpp  
eltwise_layer.hpp/cpp  
crop_layer.hpp/cpp  
pooling_layer.hpp / cpp  
scale_layer.hpp / cpp 对 blob 进行各类形状变换

损失函数类

用于分类,回归等任务的常见损失函数定义

multinomial_logistic_loss_layer.hpp/cpp
softmax_loss_layer.hpp/cpp
euclidean_loss_layer.hpp/cpp
sigmoid_cross_entropy_loss_layer.hpp/cpp
contrastive_loss_layer.hpp/cpp
hinge_loss_layer.hpp/cpp
infogain_loss_layer.hpp/cpp

卷积类

卷积与反卷积定义

im2col_layer.cpp
base_conv_layer.cpp
conv_layer.cpp
deconv_layer.cpp
inner_product_layer.cpp
   
原文地址:https://www.cnblogs.com/shuiyj/p/13185128.html