解决方法来自 https://forums.fast.ai/t/databunch-from-numpy-arrays/28916
图片读入的时候是numpy array格式,是无法进行inference的,因此需要变成databunch的那种格式,官方这么说:
但是后面有人说了各更简单的方法:亲测可以。
p = untar_data(URLs.MNIST_SAMPLE)
train = p/'train'
imagesl = ImageList.from_folder(train)
images = []
for i in imagesl:
images.append(i.data.numpy())
images = np.array(images)
class MyImageList(ImageList):
def open(self, i):
return i
@staticmethod
def from_numpy(arr):
items = []
for i in arr: items.append(Image(torch.from_numpy(i/255.0).float()))
return MyImageList(items)
MyImageList.from_numpy(images)