我正在使用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"。