fastai / fastcore

Python supercharged for the fastai library
http://fastcore.fast.ai
Apache License 2.0
973 stars 276 forks source link

Single predictions list index out of range in foundation.py #521

Open NZ369 opened 1 year ago

NZ369 commented 1 year ago

After loading a model when conduction single predictions, there is a list index out of range issue. The issue is located in foundation.py file, specifically line 120 (else [self.items[i] for i in i]) which assumes batch input.

Input code: ! [ -e /content ] && pip install -Uqq fastbook import fastbook fastbook.setup_book() from fastai.vision.all import *

learn = load_learner('export.pkl')

learn.predict(img)

Error output:

IndexError Traceback (most recent call last) in ----> 1 learn.predict(img)

20 frames /usr/local/lib/python3.9/dist-packages/fastcore/foundation.py in (.0) 118 return (self.items.iloc[list(i)] if hasattr(self.items,'iloc') 119 else self.items.array()[(i,)] if hasattr(self.items,'array') --> 120 else [self.items[i] for i in i]) 121 122 def setitem(self, idx, o):

IndexError: list index out of range

Capture

thewunder commented 1 year ago

Same exact error trained via:


dls = ImageDataLoaders.from_folder(path, train='training', valid='testing')
learn = vision_learner(dls, resnet18, pretrained=False,
                loss_func=F.cross_entropy, metrics=accuracy)
learn.fit_one_cycle(1, 0.1)