I converted a decoder model into CoreML using following way:
input_1 = ct.TensorType(name="input_1", shape=ct.Shape((1, ct.RangeDim(lower_bound=1, upper_bound=50), 512)), dtype=np.float32)
input_2 = ct.TensorType(name="input_2", shape=ct.Shape((1, ct.RangeDim(lower_bound=1, upper_bound=50), 512)), dtype=np.float32)
decoder_iOS2 = ct.convert(decoder_layer,
inputs=[input_1, input_2]
)
But if load the model in Xcode it gives me two errors:
Error1:
MLE5Engine is not currently supported for models with range shape inputs that try to utilize the Neural Engine.
Q1: As having a Flexible Input shape is nature of the Decoder, I can ignore this error message, right? This is the things that can't be fixed.?
Erro2:
doUnloadModel:options:qos:error:: model=_ANEModel: { modelURL=file:///var/containers/Bundle/Application/CB2207C5-B549-4868-AEB5-FFA7A3E24397/Photo2ASCII.app/Deocder_iOS_test2.mlmodelc/model.mil : sourceURL= (null) : key={"isegment":0,"inputs":{"input_1":{"shape":[512,1,1,1,1]},"input_2":{"shape":[512,1,1,1,1]}},"outputs":{"Identity":{"shape":[512,1,1,1,1]}}} : identifierSource=0 : cacheURLIdentifier=A93CE297F87F752D426002C8D1CE79094E614BEA1C0E96113228C8D3F06831FA_F055BF0F9A381C4C6DC99CE8FCF5C98E7E8B83EA5BF7CFD0EDC15EF776B29413 : string_id=0x00000000 : program=_ANEProgramForEvaluation: { programHandle=6885927629810 : intermediateBufferHandle=6885928772758 : queueDepth=127 } : state=3 : programHandle=6885927629810 : intermediateBufferHandle=6885928772758 : queueDepth=127 : attr={
ANEFModelDescription = {
ANEFModelInput16KAlignmentArray = (
);
ANEFModelOutput16KAlignmentArray = (
);
ANEFModelProcedures = (
{
ANEFModelInputSymbolIndexArray = (
0,
1
);
ANEFModelOutputSymbolIndexArray = (
0
);
ANEFModelProcedureID = 0;
}
);
kANEFModelInputSymbolsArrayKey = (
"input_1",
"input_2"
);
kANEFModelOutputSymbolsArrayKey = (
"Identity@output"
);
kANEFModelProcedureNameToIDMapKey = {
net = 0;
};
};
NetworkStatusList = (
{
LiveInputList = (
{
BatchStride = 1024;
Batches = 1;
Channels = 1;
Depth = 1;
DepthStride = 1024;
Height = 1;
Interleave = 1;
Name = "input_1";
PlaneCount = 1;
PlaneStride = 1024;
RowStride = 1024;
Symbol = "input_1";
Type = Float16;
Width = 512;
},
{
BatchStride = 1024;
Batches = 1;
Channels = 1;
Depth = 1;
DepthStride = 1024;
Height = 1;
Interleave = 1;
Name = "input_2";
PlaneCount = 1;
PlaneStride = 1024;
RowStride = 1024;
Symbol = "input_2";
Type = Float16;
Width = 512;
}
);
LiveOutputList = (
{
BatchStride = 1024;
Batches = 1;
Channels = 1;
Depth = 1;
DepthStride = 1024;
Height = 1;
Interleave = 1;
Name = "Identity@output";
PlaneCount = 1;
PlaneStride = 1024;
RowStride = 1024;
Symbol = "Identity@output";
Type = Float16;
Width = 512;
}
);
Name = net;
}
);
} : perfStatsMask=0} was not loaded by the client.
Q2: Is that I can ignore this error message, if I'm gonna use CPU/GPU when running the model?