I am trying o train a model with imageai and i'm getting the following errors:

133 Views Asked by At
Warning (from warnings module):
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1844
    warnings.warn('`Model.fit_generator` is deprecated and '
UserWarning: `Model.fit_generator` is deprecated and will be removed in a future version. Please use `Model.fit`, which supports generators.
Epoch 1/20
Traceback (most recent call last):
  File "C:\Users\Pc\Desktop\model\trainn.py", line 9, in <module>
    model_trainer.trainModel(num_objects=500, num_experiments=20, enhance_data=True, batch_size=32, show_network_summary=True)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\imageai\Classification\Custom\__init__.py", line 395, in trainModel
    validation_steps=int(num_test / batch_size), callbacks=[checkpoint, lr_scheduler])
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1861, in fit_generator
    initial_epoch=initial_epoch)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1100, in fit
    tmp_logs = self.train_function(iterator)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 828, in __call__
    result = self._call(*args, **kwds)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 888, in _call
    return self._stateless_fn(*args, **kwds)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\function.py", line 2943, in __call__
    filtered_flat_args, captured_inputs=graph_function.captured_inputs)  # pylint: disable=protected-access
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\function.py", line 1919, in _call_flat
    ctx, args, cancellation_manager=cancellation_manager))
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\function.py", line 560, in call
    ctx=ctx)
  File "C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\execute.py", line 60, in quick_execute
    inputs, attrs, num_outputs)
tensorflow.python.framework.errors_impl.InvalidArgumentError:  logits and labels must be broadcastable: logits_size=[32,500] labels_size=[32,2]
     [[node categorical_crossentropy/softmax_cross_entropy_with_logits (defined at C:\Users\Pc\AppData\Local\Programs\Python\Python37\lib\site-packages\imageai\Classification\Custom\__init__.py:395) ]] [Op:__inference_train_function_9811]

Function call stack:
train_function

I am following this tutorial: https://imageai.readthedocs.io/en/latest/custom/

This is my code:

from imageai.Classification.Custom import ClassificationModelTrainer

model_trainer = ClassificationModelTrainer()

model_trainer.setModelTypeAsMobileNetV2()

model_trainer.setDataDirectory(r"C:\Users\Pc\Desktop\model\minioni")

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

There are 0 best solutions below