YOLOv3-tf2.0 icon indicating copy to clipboard operation
YOLOv3-tf2.0 copied to clipboard

can't train on custom data

Open k-maheshkumar opened this issue 4 years ago • 1 comments

Thanks for the implementation. I am trying to train on custom data. But I am getting following error. Could you please help me to resolve this issue.

WARNING:tensorflow:Model was constructed with shape (None, 13, 13, 3, 6) for input Tensor("input_4:0", shape=(None, 13, 13, 3, 6), dtype=float32), but it was called on an input with incompatible shape (13, 13, 3, 6).
WARNING:tensorflow:Model was constructed with shape (None, 26, 26, 3, 6) for input Tensor("input_5:0", shape=(None, 26, 26, 3, 6), dtype=float32), but it was called on an input with incompatible shape (13, 13, 3, 6).
WARNING:tensorflow:Model was constructed with shape (None, 52, 52, 3, 6) for input Tensor("input_6:0", shape=(None, 52, 52, 3, 6), dtype=float32), but it was called on an input with incompatible shape (13, 13, 3, 6).
Traceback (most recent call last):
  File "train_keras.py", line 66, in <module>
    main();
  File "train_keras.py", line 57, in main
    yolov3.fit(train_dataset, epochs = 100, 
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 65, in _method_wrapper
    return method(self, *args, **kwargs)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 783, in fit
    tmp_logs = train_function(iterator)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 579, in __call__
    result = self._call(*args, **kwds)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 626, in _call
    self._initialize(args, kwds, add_initializers_to=initializers)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 506, in _initialize
    *args, **kwds))
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2446, in _get_concrete_function_internal_garbage_collected
    graph_function, _, _ = self._maybe_define_function(args, kwargs)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2777, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2667, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 981, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 441, in wrapped_fn
    return weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "/home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 968, in wrapper
    raise e.ag_error_metadata.to_exception(e)
ValueError: in user code:

    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py:503 train_function  *
        outputs = self.distribute_strategy.experimental_run_v2(
    train_keras.py:28 loss  *
        return Loss((INPUT_SIZE,INPUT_SIZE,3,),NUM_CLASSES)([outputs[0], outputs[1], outputs[2], labels[0], labels[1], labels[2]]);
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py:926 __call__  **
        outputs = call_fn(cast_inputs, *args, **kwargs)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py:714 call
        convert_kwargs_to_constants=base_layer_utils.call_context().saving)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py:883 _run_internal_graph
        output_tensors = layer(computed_tensors, **kwargs)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/engine/base_layer.py:926 __call__
        outputs = call_fn(cast_inputs, *args, **kwargs)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/keras/layers/core.py:888 call
        result = self.function(inputs, **kwargs)
    /tmp/tmpye1eh09b.py:35 <lambda>
        pos_loss = ag__.converted_call(ag__.converted_call(tf.keras.layers.Lambda, ((lambda x: ag__.converted_call(tf.math.reduce_sum, (ag__.converted_call(tf.keras.losses.MSE, (ag__.converted_call(tf.boolean_mask, (x[0], x[2]), None, fscope), ag__.converted_call(tf.boolean_mask, (x[1], x[2]), None, fscope)), None, fscope),), None, fscope)),), None, fscope), ([true_box, pred_box, object_mask],), None, fscope)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/util/dispatch.py:180 wrapper  **
        return target(*args, **kwargs)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:1746 boolean_mask_v2
        return boolean_mask(tensor, mask, name, axis)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:1678 boolean_mask
        shape_tensor[axis:axis + ndims_mask].assert_is_compatible_with(shape_mask)
    /home/mkarikalan/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow/python/framework/tensor_shape.py:1117 assert_is_compatible_with
        raise ValueError("Shapes %s and %s are incompatible" % (self, other))

    ValueError: Shapes (None, 52, 52) and (13, 13, 3) are incompatible

k-maheshkumar avatar Mar 10 '20 13:03 k-maheshkumar

please use the eager training script

breadbread1984 avatar Mar 11 '20 00:03 breadbread1984