我有一个图像数据集,我正在使用PIL和Torch张量在一个循环中把它们转换成张量,并把它们存储在一个列表中。
def preprocess(string):
return torch.FloatTensor(np.ascontiguousarray(np.array((PIL.Image.open(string)).convert('RGB'))[:, :, ::-1].transpose(2, 0, 1).astype(np.float32) * (1.0 / 255.0)))
import os
folder_name = 'folder name and path'
train1 = []
for item in folder_name:
x = preprocess(item)
train1.append(x)
现在,在训练之前,我想用Np.array将列表转换为Np.array。
train1 = np.array(train1)
This shows the error:
ValueError: only one element tensors can be converted to Python scalars
我还打印了列表train1的成分的形状和类型,发现它们和预期的一样是张量。
谁能帮我解决这个问题?