我有一个图像数据集,我调整数据集的每个图像的大小,然后用resized_image重新分配数据集的第I个元素。我用下面的代码来做这件事:
for i in range(0,len(dataset['train'])): #len(dataset['train'])
ex = dataset['train'][i] #i
image = ex['image']
image = image.convert("RGB") # <class 'PIL.Image.Image'> <PIL.Image.Image image mode=RGB size=500x333 at 0x7F84F1948150>
image_resized = image.resize(size_to_resize) # <PIL.Image.Image image mode=RGB size=224x224 at 0x7F84F17885D0>
dataset['train'][i]['image'] = image_resized
关键是在for循环之外,
dataset['train'][Iterator]['image'] # where iterator=0,1,2,3,4...
把第i张没有调整大小的图片还给我!
唉,你不能就地更改。
DatasetDict
由不可变的Arrow表支持