了解caffe库
Understanding caffe library
我使用 caffe 深度学习库。
我对图书馆的工作方式有点困惑。
我理解的是
net.cpp, net.h
中的 API 是用户应用程序的接口。
net.cpp, net.h
使用来自 caffe.pb.cc, caffe.pb.h
.
的 API
我混淆的是
(1)caffe/src/caffe/layers
和caffe.pb.cc, caffe.pb.h
层之间的关系是什么?
(2)这个classNetParameter inside caffe.pb.h
是做什么的,它的目的是什么?
(3)这个caffe.pb
是做什么用的?
Caffe 使用google protocol buffer ("pb") 来定义网络结构。当 creating/downloading caffe 模型时,您将看到 'train.prototxt'
或 'deploy.prototxt'
文件。这些文件是根据caffe的protocol buffer语法编写的(在caffe.proto
中定义)。
然后将此协议缓冲区编译为在自动生成的 caffe.pb.cc
和 caffe.pb.h
文件中定义的 c++ 接口。
NetParameter
结构是caffe.proto
中定义的数据类型,负责表示"net"。各个层的功能实现可以在 src/caffe/layers/*.cpp
文件中找到。
我使用 caffe 深度学习库。
我对图书馆的工作方式有点困惑。
我理解的是
net.cpp, net.h
中的 API 是用户应用程序的接口。
net.cpp, net.h
使用来自 caffe.pb.cc, caffe.pb.h
.
我混淆的是
(1)caffe/src/caffe/layers
和caffe.pb.cc, caffe.pb.h
层之间的关系是什么?
(2)这个classNetParameter inside caffe.pb.h
是做什么的,它的目的是什么?
(3)这个caffe.pb
是做什么用的?
Caffe 使用google protocol buffer ("pb") 来定义网络结构。当 creating/downloading caffe 模型时,您将看到 'train.prototxt'
或 'deploy.prototxt'
文件。这些文件是根据caffe的protocol buffer语法编写的(在caffe.proto
中定义)。
然后将此协议缓冲区编译为在自动生成的 caffe.pb.cc
和 caffe.pb.h
文件中定义的 c++ 接口。
NetParameter
结构是caffe.proto
中定义的数据类型,负责表示"net"。各个层的功能实现可以在 src/caffe/layers/*.cpp
文件中找到。