void addOutput(const caffe::LayerParameter &layer, int layerId, int outNum) { const std::string &name = layer.top(outNum); bool haveDups = false; for (int idx = (int)addedBlobs.size() - 1; idx >= 0; idx--) { if (addedBlobs[idx].name == name) { haveDups = true; break; } } if (haveDups) { bool isInplace = layer.bottom_size() > outNum && layer.bottom(outNum) == name; if (!isInplace) CV_Error(Error::StsBadArg, "Duplicate blobs produced by multiple sources"); } addedBlobs.push_back(BlobNote(name, layerId, outNum)); }