如何在python中更新/分配新值给DatasetDict循环外的元素(for cycle) ? &g



我有一个图像数据集,我调整数据集的每个图像的大小,然后用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表支持

最新更新