如何批量处理对象检测数据集?

时间:2021-07-11 22:06:45

标签: tensorflow deep-learning computer-vision conv-neural-network object-detection

我正在努力在更广泛的人脸数据集上实施人脸检测模型。我了解到它内置于 Tensorflow datasets 中并且我正在使用它。 但是,我在批处理数据时遇到了问题。由于一个 Image 可以有多个面,因此每个 Image 输出的边界框数量是不同的。例如,一张有 2 个面的图像将有 2 个边界框,而一张有 4 个面的图像将有 4 个,以此类推。

但问题是,这些不等数量的边界框导致每个 Dataset 对象张量具有不同的形状。在 TensorFlow afaik 中,我们不能批量处理形状不等的张量(来源 - Tensorflow Datasets: Make batches with different shaped data)。所以我无法批量处理数据集。

所以在加载以下代码和批处理之后 -

ds,info = tfds.load('wider_face', split='train', shuffle_files=True, with_info= True)
ds1 = ds.batch(12)
for step, (x,y,z) in enumerate(ds1) :
 print(step)
 break   

我在运行时遇到这种错误 Link to Error Image

总的来说,任何关于如何批量处理 Tensorflow 对象检测数据集的帮助都会非常有帮助。

0 个答案:

没有答案