itbetyar commited on
Commit
65d1b79
·
verified ·
1 Parent(s): 32d639e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -28
app.py CHANGED
@@ -1,49 +1,49 @@
1
- import requests
2
-
3
  import gradio as gr
4
  import torch
5
- from timm import create_model
6
- from timm.data import resolve_data_config
7
  from timm.data.transforms_factory import create_transform
 
8
 
9
- IMAGENET_1k_URL = "https://storage.googleapis.com/bit_models/ilsvrc2012_wordnet_lemmas.txt"
10
- LABELS = requests.get(IMAGENET_1k_URL).text.strip().split('\n')
11
 
12
  model = create_model('resnet50', pretrained=True)
13
  transform = create_transform(**resolve_data_config({}, model=model))
14
  model.eval()
15
 
16
- def predict_fn(img):
17
- img = img.convert('RGB')
18
- img = transform(img).unsqueeze(0)
19
-
20
- with torch.no_grad():
21
- out = model(img)
22
-
23
- probabilites = torch.nn.functional.softmax(out[0], dim=0)
24
-
25
- values, indices = torch.topk(probabilites, k=5)
26
-
27
  return {LABELS[i]: v.item() for i, v in zip(indices, values)}
28
 
29
  # HTML for the header
30
  header_html = """
31
  <div style="text-align: center; max-width: 650px; margin: 0 auto;">
32
- <h1 style="color: #2c3e50; font-size: 2.5em;">IT Betyár Resnet- Image Classifier</h1>
33
  <img src="imgclass.webp" alt="Header Image" style="max-width: 100%; height: auto; margin: 20px 0;">
 
34
  <p style="color: #34495e; font-size: 1.2em;">
35
- Üdvözöljük képosztályozónkban! Ez az eszköz egy ImageNeten betanított ResNet50 modellt használja
36
  a képek osztályozására. Tölts fel egy képet, és megmutatjuk az 5 legjobb előrejelzést.
37
  </p>
38
  </div>
39
  """
 
 
 
40
 
41
- gr.Interface(
42
- predict_fn,
43
- inputs=gr.components.Image(type='pil'),
44
- outputs='label',
45
- title="IT Betyár - ResNet50 Image Classifier",
46
- description="Tölts fel egy képet a predikcióhoz!",
47
- article=header_html # Add the header HTML here
48
- ).launch()
49
-
 
 
 
 
 
1
  import gradio as gr
2
  import torch
3
+ from timm import create_model
4
+ from timm.data import resolve_data_config
5
  from timm.data.transforms_factory import create_transform
6
+ import requests
7
 
8
+ IMAGENET_1k_URL = "https://storage.googleapis.com/bit_models/ilsvrc2012_wordnet_lemmas.txt"
9
+ LABELS = requests.get(IMAGENET_1k_URL).text.strip().split('\n')
10
 
11
  model = create_model('resnet50', pretrained=True)
12
  transform = create_transform(**resolve_data_config({}, model=model))
13
  model.eval()
14
 
15
+ def predict_fn(img):
16
+ img = img.convert('RGB')
17
+ img = transform(img).unsqueeze(0)
18
+ with torch.no_grad():
19
+ out = model(img)
20
+ probabilities = torch.nn.functional.softmax(out[0], dim=0)
21
+ values, indices = torch.topk(probabilities, k=5)
 
 
 
 
22
  return {LABELS[i]: v.item() for i, v in zip(indices, values)}
23
 
24
  # HTML for the header
25
  header_html = """
26
  <div style="text-align: center; max-width: 650px; margin: 0 auto;">
 
27
  <img src="imgclass.webp" alt="Header Image" style="max-width: 100%; height: auto; margin: 20px 0;">
28
+ <h1 style="color: #2c3e50; font-size: 2.5em;">IT Betyár Resnet- Image Classifier</h1>
29
  <p style="color: #34495e; font-size: 1.2em;">
30
+ Üdvözöljük képosztályozónkban! Ez az eszköz egy ImageNeten betanított ResNet50 modellt használ
31
  a képek osztályozására. Tölts fel egy képet, és megmutatjuk az 5 legjobb előrejelzést.
32
  </p>
33
  </div>
34
  """
35
+
36
+ with gr.Blocks() as demo:
37
+ gr.HTML(header_html)
38
 
39
+ with gr.Row():
40
+ with gr.Column():
41
+ input_image = gr.Image(type='pil')
42
+ classify_btn = gr.Button("Osztályozás")
43
+
44
+ with gr.Column():
45
+ output = gr.Label()
46
+
47
+ classify_btn.click(predict_fn, inputs=input_image, outputs=output)
48
+
49
+ demo.launch()