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;
}
위는 내가 사용한 접근 방식입니다. 벡터 크기가 0 인 "데이터"레이어조차 비어있는 것 같습니다. 여기서 무슨 일이 일어나고 있습니까?
코드 검사 레이어의 Blob : 이들은 네트워크의 내부 매개 변수 (학습 가능한 매개 변수)입니다. "Data"
레이어에는 내부 매개 변수가 없으므로 size
얻은 Blob의 값은 0입니다.
당신이 그물의 데이터 모양 (즉, 입력과 응답)를 검사하려면 다른 한편으로는, 당신은 봐야 net_.blob_names()
하고 net_.blobs()
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다