我正在使用Caffe Android 库(基于C++ API)。我尝试使用GoogleNet模型。
不幸的是,它给我返回了这个错误:
Check failed: net_->num_outputs() == 1 Network should have exactly one output
我感觉可能是遗漏了什么简单的东西。有什么想法吗?
回答:
你使用的是哪个版本的GoogLeNet实现?
根据不同的实现,你确实可能会得到不止一个输出。最初的GoogLeNet(在2015年CVPR上发布)有三个用于训练的“输出”损失,因此你可能使用了一个类似的prototxt文件,导致有多个输出层。
考虑这个deploy.prototxt
– 它只有一个输出"prob"
。然而,相应的train_val.prototxt
有三个输出:"loss1/loss1"
,"loss2/loss1"
和"loss3/loss3"
。