from fastai import *
from fastai.vision import *
import fastai
import pathlib
import pandas as pd
tfms = get_transforms()
path = pathlib.Path('/home/urls') # current directory
classes = [x.stem for x in path.glob('*')]
np.random.seed(42)
data = ImageDataBunch.from_folder(path, train=".", valid_pct=0.2,
ds_tfms=get_transforms(), size=224, num_workers=4).normalize(imagenet_stats)
learn = cnn_learner(data, models.resnet50, metrics=error_rate)
learn.fit_one_cycle(14)
learn.save('multi-class')
#actual predictions with the trained model
images = [x.stem for x in path1.glob('*.jpg')]
for i in images:
try:
img = open_image('/home/user/ml/' + f'{i}.jpg')
prediction = learn.predict(img)
print(i, prediction)
prediction_list.append(prediction)
store_item_list.append(i)
except:
pass
# for a specific image
preds,tensor,probs=learn.predict(open_image("23000.jpg"))
classes=learn.data.classes
confidences = [{c: p for ((c, p*100)) in list(zip(classes, probs))} for probs in preds
Ошибка лежит в последней строке confidences = [{c: p for ((c, p*100)) in list(zip(classes, probs))} for probs in preds
.
File "<ipython-input-75-8d5b35da10c9>", line 1
confidences = [{c: p for ((c, p*100)) in list(zip(classes, probs))} for probs in preds]
^
SyntaxError: can't assign to operator
Пожалуйста, помогите - я открыт для любых других способов получения уверенности в предсказании класса .