我想获得列车组的输入图像未标记。
当加载数据集时,我首先得到一个奇怪的字典,但我把它去掉了。
我只是不能管理的是将所有图像的大小调整为(200,200,3)。
到目前为止,我的尝试是:
@tf.function
def pre(img):
return img["image"]
training_daten = tfds.as_numpy(tfds.load(name="cars196", batch_size = 8, split="train").map(pre))
# I got the pictures now, but they're all of a different shape
def pre2(i):
img_pil = Image.fromarray(i)
i = img_pil.thumbnail((200,200), Image.ANTIALIAS)
return np.array(i)
training_daten = [list(map(pre2,i)) for i in training_daten]
我已经花了5个小时了。。。 非常感谢!
编辑:我的第一批代码的输出是:[array(None,DTYPE=object),array(None,DTYPE=object),array(None,DTYPE=object),array(None,DTYPE=object),array(None,DTYPE=object),array(None,DTYPE=object)]
所以,有些东西不起作用了。
可以使用.Thumbnail
方法代替.Resize
方法,因为Thumbnail
方法不会将它们全部成形为一个形状,而是计算最佳大小,所给大小用作大小的上限。
i = img_pil.resize((200,200), Image.ANTIALIAS)
请看下面的答案以了解它们之间的差异。