blanar commited on
Commit
c56fecd
·
1 Parent(s): 7b176a2

application bones

Browse files
Files changed (6) hide show
  1. app.py +55 -6
  2. dog.pth +3 -0
  3. pure-cat-0.pth +3 -0
  4. pure-dog-5.pth +3 -0
  5. requirements.txt +2 -1
  6. test.py +55 -0
app.py CHANGED
@@ -1,8 +1,43 @@
1
  import streamlit as st
2
- from transformers import pipeline
3
  from PIL import Image
 
 
 
 
 
 
 
 
 
4
 
5
- pipeline = pipeline(task="image-classification", use_auth_token=True, model="blanar/pawpularity")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  st.title("Hot Dog? Or Not?")
8
 
@@ -13,8 +48,22 @@ if file_name is not None:
13
 
14
  image = Image.open(file_name)
15
  col1.image(image, use_column_width=True)
16
- predictions = pipeline(image)
17
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  col2.header("Probabilities")
19
- for p in predictions:
20
- col2.subheader(f"{ p['label'] }: { round(p['score'] * 100, 1)}%")
 
1
  import streamlit as st
 
2
  from PIL import Image
3
+ import sys
4
+ import zipfile
5
+ from fastai import *
6
+ import numpy as np
7
+ import pandas as pd
8
+ import os
9
+ import timm
10
+ from timm import create_model
11
+ from fastai.vision.all import *
12
 
13
+ torch.device('cpu')
14
+ def seed_everything(seed):
15
+ random.seed(seed)
16
+ os.environ['PYTHONHASHSEED'] = str(seed)
17
+ np.random.seed(seed)
18
+ torch.manual_seed(seed)
19
+ torch.backends.cudnn.deterministic = True
20
+ seed_everything(42)
21
+
22
+ test = {
23
+ 'Id': ['2022-12-21 00.49.46.jpg', '2022-12-21 00.49.46.jpg'],
24
+ 'Eyes': [0.3, 0.2],
25
+ }
26
+ train_df = pd.DataFrame(test)
27
+ print(train_df)
28
+ dls = DataBlock(blocks=(ImageBlock, CategoryBlock),
29
+ get_x=ColReader('Id'),
30
+ get_y=ColReader('Eyes'),
31
+ splitter=RandomSplitter(0.2),
32
+ item_tfms=Resize(224),
33
+ batch_tfms=setup_aug_tfms([Brightness(), Contrast(), Hue(), Saturation(), Flip(size=224)]),
34
+ )
35
+
36
+ paw_dls = dls.dataloaders(train_df, batch_size=8, seed=12, device='cpu')
37
+ test = paw_dls.test_dl(train_df)
38
+ learn = cnn_learner(paw_dls, models.resnet50, pretrained=False, metrics=error_rate)
39
+ learn.to('cpu')
40
+ catanddog = learn.load('../dog')
41
 
42
  st.title("Hot Dog? Or Not?")
43
 
 
48
 
49
  image = Image.open(file_name)
50
  col1.image(image, use_column_width=True)
51
+ pred = catanddog.predict(image)[1]
52
+ print(pred)
53
+ def metric_rmse(input,target):
54
+ return 100*torch.sqrt(F.mse_loss(F.sigmoid(input.flatten()), target))
55
+ model = create_model('swin_large_patch4_window7_224', pretrained=False, num_classes=1)
56
+ learn = Learner(paw_dls, model, loss_func = BCEWithLogitsLossFlat(), metrics=metric_rmse)
57
+ # learner = learner.load(f'/kaggle/input/puredog/pure-dog-{fold}')
58
+ if pred == 0:
59
+ learn.load('../archive-3/pure-dog-1')
60
+ pred = learn.predict(image)
61
+ print("Score for this doggy:", int(pred[2] * 100))
62
+ if pred == 1:
63
+ for i in range(10):
64
+ learn.load(f'../archive-2/pure-cat-{i}')
65
+ pred = learn.predict(image)
66
+ print(pred)
67
+ print("Score for this catto:", min(int(pred[2] * 100 + 35), 100))
68
  col2.header("Probabilities")
69
+ col2.subheader(f"{ pred[2] }: { round(pred[2] * 100, 1)}%")
 
dog.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:48e47295238ba0b456d20e57b4f971c8c77d395443fa97b4f7e958c2f476be80
3
+ size 120168877
pure-cat-0.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a3a0451aaffb232bd79dbb8f5b33ee204afec651e3aa3aca4c18ea18419b25ac
3
+ size 781699177
pure-dog-5.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e2c47c357d0f2c26576969f412229f9f8b9ddd304fe8ed7c971d8efe4c82a9d0
3
+ size 781699177
requirements.txt CHANGED
@@ -1,2 +1,3 @@
1
  transformers
2
- torch
 
 
1
  transformers
2
+ torch
3
+ fastai
test.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import sys
2
+ import zipfile
3
+ from fastai import *
4
+ import numpy as np
5
+ import pandas as pd
6
+ import os
7
+ import timm
8
+ from timm import create_model
9
+ from fastai.vision.all import *
10
+
11
+ torch.device('cpu')
12
+ def seed_everything(seed):
13
+ random.seed(seed)
14
+ os.environ['PYTHONHASHSEED'] = str(seed)
15
+ np.random.seed(seed)
16
+ torch.manual_seed(seed)
17
+ torch.backends.cudnn.deterministic = True
18
+ seed_everything(42)
19
+
20
+ test = {
21
+ 'Id': ['2022-12-21 00.49.46.jpg', '2022-12-21 00.49.46.jpg'],
22
+ 'Eyes': [0.3, 0.2],
23
+ }
24
+ train_df = pd.DataFrame(test)
25
+ print(train_df)
26
+ dls = DataBlock(blocks=(ImageBlock, CategoryBlock),
27
+ get_x=ColReader('Id'),
28
+ get_y=ColReader('Eyes'),
29
+ splitter=RandomSplitter(0.2),
30
+ item_tfms=Resize(224),
31
+ batch_tfms=setup_aug_tfms([Brightness(), Contrast(), Hue(), Saturation(), Flip(size=224)]),
32
+ )
33
+ paw_dls = dls.dataloaders(train_df, batch_size=8, seed=12, device='cpu')
34
+ test = paw_dls.test_dl(train_df)
35
+ learn = cnn_learner(paw_dls, models.resnet50, pretrained=False, metrics=error_rate)
36
+ learn.to('cpu')
37
+ catanddog = learn.load('../dog')
38
+ image = 'photo-1529778873920-4da4926a72c2.jpeg'
39
+ pred = catanddog.predict(image)[1]
40
+ print(pred)
41
+ def metric_rmse(input,target):
42
+ return 100*torch.sqrt(F.mse_loss(F.sigmoid(input.flatten()), target))
43
+ model = create_model('swin_large_patch4_window7_224', pretrained=False, num_classes=1)
44
+ learn = Learner(paw_dls, model, loss_func = BCEWithLogitsLossFlat(), metrics=metric_rmse)
45
+ # learner = learner.load(f'/kaggle/input/puredog/pure-dog-{fold}')
46
+ if pred == 0:
47
+ learn.load('../archive-3/pure-dog-1')
48
+ pred = learn.predict(image)
49
+ print("Score for this doggy:", int(pred[2] * 100))
50
+ if pred == 1:
51
+ for i in range(10):
52
+ learn.load(f'../archive-2/pure-cat-{i}')
53
+ pred = learn.predict(image)
54
+ print(pred)
55
+ print("Score for this catto:", min(int(pred[2] * 100 + 35), 100))