I have been trying to convert the Keras model to the core mlmodel. However, while doing so, I get multiple inputs and outputs. I just want the following as input and output.
The current model I get.
I am using this code to convert:
When I enter the image in this, I don't get any output. I mean image output is nil.
I step into debug mode, but cannot find any error from model prediction.
I am guessing the issue might be with the compiling model but I have no idea about how to resolve it.
Thank you for your help.
Code Block name: "input" type { imageType { width: 256 height: 64 colorSpace: GRAYSCALE } } name: "output" type { dictionaryType { stringKeyType { } } }
The current model I get.
Code Block [name: "image" type { imageType { width: 256 height: 64 colorSpace: GRAYSCALE } } , name: "lstm1_h_in" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm1_c_in" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm1_h_in_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm1_c_in_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm2_h_in" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm2_c_in" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm2_h_in_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } , name: "lstm2_c_in_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } isOptional: true } ] [name: "output" type { dictionaryType { stringKeyType { } } } , name: "lstm1_h_out" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm1_c_out" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm1_h_out_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm1_c_out_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm2_h_out" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm2_c_out" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm2_h_out_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "lstm2_c_out_rev" type { multiArrayType { shape: 256 dataType: DOUBLE } } , name: "classLabel" type { stringType { } } ]
I am using this code to convert:
Code Block from keras.models import load_model import coremltools as ct class_labels = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "-"] tf_keras_model = load_model("HTRAdam.h5") mlmodel = ct.converters.keras.convert('HTRAdam.h5', input_names=['image'], output_names=['output'], class_labels=class_labels, image_input_names='image') mlmodel.save('HTR.mlmodel')
When I enter the image in this, I don't get any output. I mean image output is nil.
I step into debug mode, but cannot find any error from model prediction.
I am guessing the issue might be with the compiling model but I have no idea about how to resolve it.
Thank you for your help.