在过去的几周里,我一直在尝试让 Yolo v3 在 TF 2.x 中工作,每次我解决一个问题时,就会出现另一个问题。主要的挑战是实际让TensorFlow为每个尺度和训练集中的样本执行NonMax抑制。我用了tf.image.non_max_suppression_padded,我被击中了
Tensorflow.python.framework.errors_impl.OperatorNotAllowedInGraphError: using a `tf.Tensor` as a Python `bool` is not allowed in Graph execution. Use Eager execution or decorate this function with @tf.function.
我通过禁用急切执行来解决此问题,并移动到Model(input, output)
,但这次我被击中了
tensorflow.python.framework.errors_impl.InternalError: Tensorflow type 21 not convertible to numpy dtype
我尝试堆叠 TensorArray(是的,TensorArray,因为我必须遍历批处理中的每个尺度和样本(,转换为 Tensor,但没有任何效果。
关于如何解决此问题的提示?
如果你只是想要一个使用tensorflow 2.X的yolo,你可能想试试这个版本: https://github.com/hunglc007/tensorflow-yolov4-tflite
实现已经完成,使用 sccript 将模型转换为 tflite 和 tftrt,但您可以按原样运行它。