2017-10-27 8 views
1

1)レイヤーのトップラベル(ip1、ip2、conv1、conv2など)をC++で取得することはできますか? 私の層が、私は私の場合には「プール1C++でレイヤーのトップラベルを取得するにはどうすればよいですか?

でトップラベルを取得したい

layer { 
    name: "relu1_1" 
    type: "Input" 
    top: "pool1" 
    input_param { 
     shape: { 
      dim:1 
      dim: 1 
      dim: 28 
      dim: 28 
      } 
    } 
} 

であれば、私は提供されている例を検索するが、私は何かを見つけることができませんでした。現在、私は

cout << "Layer name:" << "'" << net_->layer_names()[layer_index]<<endl; 
cout << "Layer type: " << net_->layers()[layer_index]->type()<<endl; 

2)どこで私はチュートリアルやCを使ってカフェのフレームワークを使用するための最も使用されるAPIを説明する例を見つけることができ、次のコマンドによってのみレイヤー名とレイヤータイプを取得することができるよ++?

ありがとうございます。 doxygenの中01​​クラスで

答えて

1

ルック:

const vector< vector< Blob<Dtype> * > > all_ tops = net_->top_vecs(); // get "top" of all layers 
Blob<Dtype>* ptop = all_tops[layer_index][0]; // pointer to top blob of layer 

あなたは、レイヤの名前をしたい場合は、あなたが

const string layer_name = net_->layer_names()[layer_index]; 

できますが、ちょうど読み、net_インタフェースを使用して名前/あらゆる種類のデータにアクセスすることができますdoc

+0

ptopはポインタを与えますが、トップネームにアクセスしたいと思います。例えば私の場合、私は "pool1"を取得したいと思いますが、私は上で答えたポインタからこれを得ることができません。 –

+1

@GaneshMS私の編集を見てください。** [docs](http://caffe.berkeleyvision.org/doxygen/classcaffe_1_1Net.html)を読んでください。 – Shai

関連する問題