1 year ago

#359600

test-img

sampleuser

coremltools: output has no shape and cannot be used in pipeline -- how to fix it?

When I convert tensorflow.keras models to CoreML using coremltools, my models end up having no output shape. I.e., if model is my coremltools.models.MLModel instance, model.get_spec().description.output[0] results in

name: "output"
shortDescription: "model output"
type {
multiArrayType {
dataType: FLOAT32
}
}

so I have a multiArray with no specified output shape. This is fine and I can use it in my Xcode project. However, if I'm using coremltols.models.pipeline.Pipeline to combine two instances of coremltools.models.Model, I get the following message displayed when opening the model with Xcode:

validator error: Pipeline: the input 'input' of model '...' does not match the type previously specified by the pipeline input or the output of a previous model. For the second case, make sure the input and previous model's output has the matching name and shape.

I checked that name and dataType coincide so the only thing I can think of is that the missing output shape is the issue. Unfortunately, I could not find a way to make coreml output the model's output shape.

Any ideas on this? Maybe there is some misuse of mine of the pipeline class?

python

coremltools

0 Answers

Your Answer

Accepted video resources