Spaces:
Sleeping
Sleeping
| 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)) |