為什麼模型辨識會沒有結果?可以從訓練好的模型查看標籤嗎?


目前要訓練的label如下:

img

用這樣的方式訓練了一個模型:


dblock = DataBlock( blocks = (ImageBlock, MultiCategoryBlock),
                    get_x = get_x, get_y = get_y,
                    item_tfms = RandomResizedCrop(128, min_scale=0.35))
dls = dblock.dataloaders(label_df)
learn = cnn_learner(dls, resnet18, metrics=partial(accuracy_multi, thresh=0.2))
learn.fine_tune(5, base_lr=3e-3)

將結果存起來並呼叫他


joblib.dump(learn,'joblib_export.pkl')
clf2 = joblib.load('joblib_export.pkl')

我嘗試用他辨識

img = cv2.imread('./test_picture/clothes_1.jpg')
print(clf2.predict(img))

img = cv2.imread('./test_picture/clothes_3.jpg')
print(clf2.predict(img))

img = cv2.imread('./test_picture/clothes_6.jpg')
print(clf2.predict(img))

img = cv2.imread('./test_picture/clothes_7.jpg')
print(clf2.predict(img))

可是有結果跑不出來!想了解為什麼會有結果是空的,
TensorBase出來的那個應該是權重值?我要怎麼看該數值是哪一個Label,有點懷疑Short並沒有被放進去

或是可以直接調成最大的就是辨識結果就好(他可能會抓超過多少值以上才顯示?)


img

辨識過程詳細參考: https://www.kaggle.com/code/marissafernandes/clothes-image-classifier