import sys import zipfile from fastai import * import numpy as np import pandas as pd import os import timm from timm import create_model from fastai.vision.all import * torch.device('cpu') def seed_everything(seed): random.seed(seed) os.environ['PYTHONHASHSEED'] = str(seed) np.random.seed(seed) torch.manual_seed(seed) torch.backends.cudnn.deterministic = True seed_everything(42) test = { 'Id': ['2022-12-21 00.49.46.jpg', '2022-12-21 00.49.46.jpg'], 'Eyes': [0.3, 0.2], } train_df = pd.DataFrame(test) print(train_df) dls = DataBlock(blocks=(ImageBlock, CategoryBlock), get_x=ColReader('Id'), get_y=ColReader('Eyes'), splitter=RandomSplitter(0.2), item_tfms=Resize(224), batch_tfms=setup_aug_tfms([Brightness(), Contrast(), Hue(), Saturation(), Flip(size=224)]), ) paw_dls = dls.dataloaders(train_df, batch_size=8, seed=12, device='cpu') test = paw_dls.test_dl(train_df) learn = cnn_learner(paw_dls, models.resnet50, pretrained=False, metrics=error_rate) learn.to('cpu') catanddog = learn.load('../dog') image = 'photo-1529778873920-4da4926a72c2.jpeg' pred = catanddog.predict(image)[1] print(pred) def metric_rmse(input,target): return 100*torch.sqrt(F.mse_loss(F.sigmoid(input.flatten()), target)) model = create_model('swin_large_patch4_window7_224', pretrained=False, num_classes=1) learn = Learner(paw_dls, model, loss_func = BCEWithLogitsLossFlat(), metrics=metric_rmse) # learner = learner.load(f'/kaggle/input/puredog/pure-dog-{fold}') if pred == 0: learn.load('../archive-3/pure-dog-1') pred = learn.predict(image) print("Score for this doggy:", int(pred[2] * 100)) if pred == 1: for i in range(10): learn.load(f'../archive-2/pure-cat-{i}') pred = learn.predict(image) print(pred) print("Score for this catto:", min(int(pred[2] * 100 + 35), 100))