0

I need help... Im using imageai Custom Class to create my own detection...

And here we go

from imageai.Classification.Custom import ClassificationModelTrainer
model_trainer = ClassificationModelTrainer()
model_trainer.setModelTypeAsResNet50()
model_trainer.setDataDirectory("leads_test")

model_trainer.trainModel(num_objects=1, num_experiments=1, enhance_data=True, batch_size=1, show_network_summary=True)

<...>

from imageai.Detection import ObjectDetection

detector = ObjectDetection()
model_path = "leads_test/models/model_ex-001_acc-1.000000.h5"
input_path = "ECG/IMG_0239.jpg"
output_path = "./output/newimage.jpg"

detector.setModelTypeAsTinyYOLOv3()
detector.setModelPath(model_path)
detector.loadModel()
ValueError: Layer count mismatch when loading weights from file. Model expected 24 layers, found 107 saved layers.
Laurel
  • 5,965
  • 14
  • 31
  • 57
kndahl
  • 11
  • 4
  • The question doesn't seem to be related with `tensorflow` or `keras`. If you're using an open-source package, you can try opening an issue in their repository. – Shubham Panchal Jan 25 '22 at 03:38

1 Answers1

1

Solved. I have to use imageai.Classification.Custom import CustomImageClassification instead of imageai.Detection import ObjectDetection

from imageai.Classification.Custom import CustomImageClassification
prediction = CustomImageClassification()
prediction.setModelTypeAsResNet50()
prediction.setModelPath('leads_test/models/model_ex-001_acc-1.000000.h5')
prediction.setJsonPath('leads_test/json/model_class.json')
prediction.loadModel(num_objects=1)

The problem was in different model type while training and prediction.

kndahl
  • 11
  • 4