-
Notifications
You must be signed in to change notification settings - Fork 100
Description
I am trying to get the intermediate layer(add_node) output and merge it into the existing model outputs (confidences and coordinates)
Experiments :
- Was able to get the add output from the ssd model, also passed this output as an input to decode model stage where i just add a dummy permute node.
- In the NMS model, it has a fixed set of inputs and outputs set by (confidenceInputFeatureName, confidenceOutputFeatureName ..etc) didn't find anything to forcefully create a new input as its set by the NMS_suppression.proto file
- So thought of creating a new model part that takes input as the NMS outputs(confidences and coordinates) and the previous decode layer add_output.
with this the coreml model is created as attached below.

But while loading it on through python it gives
an error saying:
RuntimeWarning: You will not be able to run predict() on this Core ML model. Underlying exception message was: Error compiling model: "Error reading protobuf spec. validator error: Pipeline: Input 'confidence' of model 'CoreML.Specification.ModelDescription' does not match the type previously specified by the pipeline input or the output of a previous model.".

I am assuming this error is prompted bcoz the new model created is taking the input, not from the intermediate layer. Can we add a dummy node in the NMS model to bypass this ... any thoughts on this will be helpful or even is this the correct way of doing it.
I have attached the coreml and convert pythod code used