はじめに
OpenCV のチュートリアルの解説では、順方向のデータ伝搬に関しては、6 Make forward pass
prob = net.forward("prob"); //compute output
During the forward pass output of each network layer is computed, but in this example we need output from "prob" layer only.
と解説されている。
以前からこの最後のレイヤー名を指定するのは、レイヤー名を知っていることが前提であり、少し不便かと思っていた。
そこで、関数の説明を調べてみたら、モデルの最終レイヤーからの出力が欲しい場合、レイヤー名を指定しなくても(デフォルト値)問題ないことが分かった。
forward() [1/4]
Mat cv::dnn::Net::forward ( const String & outputName = String())
By default runs forward pass for the whole network.
試しに、caffe_googlenet.cpp で、
prob = net.forward();
に変更してみても、オリジナルと同等の結果を得られたことを確認した。
以上
0 件のコメント:
コメントを投稿