Caffe C ++ - 访问其他层中的数据

时间:2017-02-19 08:41:08

标签: c++ neural-network deep-learning caffe

我正在尝试使用Caffe C ++访问各个层。但是,我无法获得任何数据:

net_.Forward();

std::vector<std::string> layerNames = net_.layer_names();
for(int i=0; i<layerNames.size(); i++){
    cout << layerNames[i] << endl;
    std::vector<boost::shared_ptr<caffe::Blob<float> > >& layer = net_.layer_by_name(layerNames[i])->blobs();
    cout << layer.size() << endl;
}

以上是我使用的方法。即使是&#34;数据&#34;图层似乎是空的,矢量大小为0.这里发生了什么?

1 个答案:

答案 0 :(得分:0)

您的代码检查图层的blob:这些是网络的内部参数(可训练参数)。 "Data"图层没有内部参数,因此您获得的blob的size为零。

另一方面,如果您想检查网络的数据blob(即输入和响应),您应该查看net_.blob_names()net_.blobs()