executor->get_output_variables().at(i).variable;
において、上記iがどの出力が該当するかはネットワーク定義時の順序に依存しますが、
物体検出サンプルプロジェクトにおいては、書かれている通りです。
学習済みモデルの出力の何番目の変数に何が書き出されているかについては
以下の手順で確認することができます。
- 学習済みモデルであるnnpファイルの拡張子をzipに変更して解凍
- zipファイルに含まれるnet.nntxtをテキストエディタで開く
- executor {からはじまるセクションの、output_variableの順を確認する(この順が出力のIndexを表す)
executor {
name: "Executor"
network_name: "Runtime"
num_evaluations: 1
repeat_evaluation_type: "mean"
need_back_propagation: false
no_image_normalization: true
data_variable {
variable_name: "Input"
data_name: "x"
}
output_variable {
variable_name: "category'"
data_name: "category'"
}
output_variable {
variable_name: "r'"
data_name: "r'"
}
output_variable {
variable_name: "score'"
data_name: "score'"
}
ちなみに同executorセクションのdata_variableが入力のIndexを表しています。
2021年6月16日水曜日 15:34:27 UTC+9 k.ishi: