了解caffe库
Understanding caffe library
我正在尝试了解 caffe library。为此,我 运行 逐步完成 feature_extraction.cpp 和 classification.cpp。
在那些cpp文件中,我找到了layers, prototxt file, caffemodel, net.cpp, caffe.pb.cc, caffe.pb.h
个文件。
我知道caffe是用不同的层形成的。所以使用图层文件夹中的那些图层文件。
prototxt 文件用于特定网络的结构,例如 googlenet、alexnet 等。不同的网络具有不同的结构。
caffemodel 是针对特定类型的网络结构使用 caffe 库训练的模型。
那些 net.cpp、caffe.pb.cc 是做什么的?我的意思是如何理解他们在形成这个caffe深度学习网络中的作用。
你理解正确caffe实现深度学习的方式是"layers"一个堆叠在另一个上面形成一个"net"。
'net.cpp'
每个层都作为一个 "functional block" 工作,其 behavior/implementation 定义在 src/caffe/layers/<layer>.cpp
、src/caffe/layers/<layer>.cu
和 include/caffe/layers/<layer>.hpp
.
中
实际上 "stack" 所有层都变成一个网络的代码可以(大部分)在 net.cpp
.
中找到
'caffe.pb.h'
,'caffe.pb.cc'
为了定义特定深度网络架构(例如,AlexNet、GoogLeNet、ResNet 等)的特定结构,caffe 使用 protocol-buffers library. The specific format of caffe protocol buffer is defined in src/caffe/proto/caffe.proto
. The caffe.proto
is "compiled" using google protobuffer 编译器生成 'caffe.pb.h'
和 'caffe.pb.cc'
c++ 代码用于解析和处理 caffe prototxt
和 caffemodel
文件。
我正在尝试了解 caffe library。为此,我 运行 逐步完成 feature_extraction.cpp 和 classification.cpp。
在那些cpp文件中,我找到了layers, prototxt file, caffemodel, net.cpp, caffe.pb.cc, caffe.pb.h
个文件。
我知道caffe是用不同的层形成的。所以使用图层文件夹中的那些图层文件。
prototxt 文件用于特定网络的结构,例如 googlenet、alexnet 等。不同的网络具有不同的结构。
caffemodel 是针对特定类型的网络结构使用 caffe 库训练的模型。
那些 net.cpp、caffe.pb.cc 是做什么的?我的意思是如何理解他们在形成这个caffe深度学习网络中的作用。
你理解正确caffe实现深度学习的方式是"layers"一个堆叠在另一个上面形成一个"net"。
'net.cpp'
每个层都作为一个 "functional block" 工作,其 behavior/implementation 定义在 src/caffe/layers/<layer>.cpp
、src/caffe/layers/<layer>.cu
和 include/caffe/layers/<layer>.hpp
.
中
实际上 "stack" 所有层都变成一个网络的代码可以(大部分)在 net.cpp
.
'caffe.pb.h'
,'caffe.pb.cc'
为了定义特定深度网络架构(例如,AlexNet、GoogLeNet、ResNet 等)的特定结构,caffe 使用 protocol-buffers library. The specific format of caffe protocol buffer is defined in src/caffe/proto/caffe.proto
. The caffe.proto
is "compiled" using google protobuffer 编译器生成 'caffe.pb.h'
和 'caffe.pb.cc'
c++ 代码用于解析和处理 caffe prototxt
和 caffemodel
文件。