YOLOv3-tf2.0
YOLOv3-tf2.0 copied to clipboard
can't train on custom data
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
please use the eager training script