fastcore icon indicating copy to clipboard operation
fastcore copied to clipboard

Single predictions list index out of range in foundation.py

Open NZ369 opened this issue 2 years ago • 1 comments

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

NZ369 avatar Mar 18 '23 01:03 NZ369

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)

thewunder avatar Jul 17 '23 01:07 thewunder