1

Я использую Caffe android lib (на основе C++ api). Я пытаюсь сделать это с помощью модели GoogleNet.
Unfortunatly это дает мне эту ошибку:Caffe: Check failed: сеть должна иметь ровно один вывод

Check failed: net_->num_outputs() == 1 Network should have exactly one output 

У меня такое чувство, что я что-то глупое отсутствует. Есть предположения?

ответ

0

Какую реализацию GoogLeNet вы используете?
В зависимости от реализации вы можете получить более одного вывода. Оригинальная версия GoogLeNet (опубликованная в CVPR 2015) имела три «выходные» потери для обучения, поэтому вы можете использовать прототип similat, полученный с несколькими выходными уровнями.

Учитывая this deploy.prototxt - он имеет только один выход "prob". Однако соответствующий train_val.prototxt имеет три выхода: "loss1/loss1", "loss2/loss1" и "loss3/loss3".

+0

Спасибо за быстрый ответ, я действительно вернулся к этому развертыванию, но он все еще дает мне эту ошибку. Wierd часть, что сеть используется в примере для этой библиотеки: https://github.com/BVLC/caffe/blob/master/models/bvlc_reference_caffenet/deploy.prototxt не – Mozie

+0

@Mozie вы должны проверить свой 'deploy.prototxt' - у него может быть более одного выхода, это не редкость. – Shai

+0

Спасибо Shai, последний слой действительно дал несколько, спасибо! (Знал, что я был где-то глупо) – Mozie