[MAIXPY] kpu: load error:2003 layer_header.body_size<=0
The MaixPy IDE gives reports: "ValueError: [MAIXPY] kpu: load error:2003, ERR_KMODEL_FORMAT: layer_header.body_size<=0" when executing "task = kpu.load(0x300000)" from the IDE.
The model was trained with tf/keras, stored as .tflite and converted with: c:\apu4\nncase_git\nncase\out\bin\ncc.exe compile -i tflite -t k210 c:\apu23\model_tflite.tflite c:\apu23\tflite_tflite.kmodel --dataset c:\apu23\images_1 An equivalent model was trained with pytorch, stored as .onnx and converted with: c:\apu4\nncase_git\nncase\out\bin\ncc.exe compile -i onnx -t k210 c:\apu23\omanet_1.onnx c:\apu23\omanet_1.kmodel --dataset c:\apu23\images_1
The error report is the same when using keras or using pytorch.
The keras/tf thing was:
model=keras.models.Sequential()
model.add(keras.layers.Conv2D(8,(3,3),padding='same',input_shape=(28,28,1)))#no activation
model.add(keras.layers.MaxPooling2D(2))
model.add(keras.layers.Conv2D(16,(3,3),padding='same'))
model.add(keras.layers.Activation('relu'))
model.add(keras.layers.MaxPooling2D(2))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(7716,activation='relu'))
model.add(keras.layers.Dropout(0.2))
model.add(keras.layers.Dense(4,activation='softmax'))
opti=keras.optimizers.SGD(learning_rate=0.01,momentum=0.5)
model.compile(loss='categorical_crossentropy', optimizer=opti, metrics=[keras.metrics.CategoricalAccuracy()])
model.fit(x, y, epochs=5, batch_size=64, shuffle=True, validation_data=(u, v), verbose=2)
model.save("treeni_1_model.h5")
converter = tf.lite.TFLiteConverter.from_keras_model_file("treeni_1_model.h5")
converter.experimental_new_converter = True
tflite_model = converter.convert()
open('model_tflite.tflite', 'wb').write(tflite_model)
Leaving out the dropout layer did not make any difference. The onnx file passes onnx.checker and works fine with onnxruntime.
- IDE version: 0.2.5
- Firmware version: maixpy_v0.6.2_66_gc82880691.bin
- Board: MaixDuino
- OS: Windows 10
- ncc.exe version was 1.0.0-3bfbd61 (built from github using VisualStudio)
Hi, I have encoutered the same issue while trying to start my own model on K210. Have you managed to solve this problem in any way?