![](/img/trans.png)
[英]InvalidArgumentError: required broadcastable shapes [Op:Add] tensorflow model
[英]InvalidArgumentError: required broadcastable shapes [Op:Mul]
我是 python 和 tensorflow 的菜鳥。我在 colab 中訓練 tensorflow lite model 時遇到了問題。 model 在導出 model 之前很好。但是,當我使用以下代碼在我的圖像上測試 tflite 文件時,出現錯誤。
model.evaluate_tflite('/content/label-img/model.tflite', validation_data)
錯誤
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
<ipython-input-22-6548d36b036c> in <module>()
----> 1 model.evaluate_tflite('/content/label-img/model.tflite', validation_data)
8 frames
/usr/local/lib/python3.7/dist-packages/tensorflow_examples/lite/model_maker/core/task/object_detector.py in evaluate_tflite(self, tflite_filepath, data)
187 ds = data.gen_dataset(self.model_spec, batch_size=1, is_training=False)
188 return self.model_spec.evaluate_tflite(tflite_filepath, ds, len(data),
--> 189 data.annotations_json_file)
190
191 def _export_saved_model(self, saved_model_dir: str) -> None:
/usr/local/lib/python3.7/dist-packages/tensorflow_examples/lite/model_maker/core/task/model_spec/object_detector_spec.py in evaluate_tflite(self, tflite_filepath, dataset, steps, json_file)
386 normalize_factor = tf.constant([height, width, height, width],
387 dtype=tf.float32)
--> 388 nms_boxes *= normalize_factor
389 if labels['image_scales'] is not None:
390 scales = tf.expand_dims(tf.expand_dims(labels['image_scales'], -1), -1)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/math_ops.py in r_binary_op_wrapper(y, x)
1398 # r_binary_op_wrapper use different force_same_dtype values.
1399 y, x = maybe_promote_tensors(y, x)
-> 1400 return func(x, y, name=name)
1401
1402 # Propagate func.__doc__ to the wrappers
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/math_ops.py in _mul_dispatch(x, y, name)
1708 return sparse_tensor.SparseTensor(y.indices, new_vals, y.dense_shape)
1709 else:
-> 1710 return multiply(x, y, name=name)
1711
1712
/usr/local/lib/python3.7/dist-packages/tensorflow/python/util/dispatch.py in wrapper(*args, **kwargs)
204 """Call target, and fall back on dispatchers if there is a TypeError."""
205 try:
--> 206 return target(*args, **kwargs)
207 except (TypeError, ValueError):
208 # Note: convert_to_eager_tensor currently raises a ValueError, not a
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/math_ops.py in multiply(x, y, name)
528 """
529
--> 530 return gen_math_ops.mul(x, y, name)
531
532
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/gen_math_ops.py in mul(x, y, name)
6234 return _result
6235 except _core._NotOkStatusException as e:
-> 6236 _ops.raise_from_not_ok_status(e, name)
6237 except _core._FallbackException:
6238 pass
/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py in raise_from_not_ok_status(e, name)
6939 message = e.message + (" name: " + name if name is not None else "")
6940 # pylint: disable=protected-access
-> 6941 six.raise_from(core._status_to_exception(e.code, message), None)
6942 # pylint: enable=protected-access
6943
/usr/local/lib/python3.7/dist-packages/six.py in raise_from(value, from_value)
InvalidArgumentError: required broadcastable shapes [Op:Mul]
這個錯誤應該是由於形狀不同造成的。 但是誰能告訴我如何在 colab 中進行廣播? 代碼和 colab 來自https://colab.research.google.com/github/googlecodelabs/odml-pathways/blob/main/object-detection/codelab2/python/Train_a_salad_detector_with_TFLite_Model_Maker.ipynb#scrollTo=HD5BvzWe6YKa 。 tensorflow官方教程。
目前,上述 colab 存在 TensorFlow 2.6 或更高版本的問題。 請暫時使用 TensorFlow 2.5。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.