onehowon commited on
Commit
4e966fe
·
1 Parent(s): 001997d

requirement

Browse files
Files changed (1) hide show
  1. app.py +14 -7
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import torch
2
  from torchvision import transforms, models
3
  from art.attacks.evasion import FastGradientMethod
@@ -17,10 +18,7 @@ def load_model():
17
  model.eval()
18
  return model
19
 
20
- def process_image(inputs: dict):
21
- input_image = inputs["inputs"]
22
- eps_value = inputs.get("eps", 0.3)
23
-
24
  model = load_model()
25
  device = torch.device("cpu")
26
  model = model.to(device)
@@ -42,8 +40,7 @@ def process_image(inputs: dict):
42
  std=[0.229, 0.224, 0.225])
43
  ])
44
 
45
- img = Image.open(io.BytesIO(base64.b64decode(input_image))).convert('RGB')
46
- img_tensor = transform(img).unsqueeze(0).to(device)
47
 
48
  attack = FastGradientMethod(estimator=classifier, eps=eps_value)
49
  adv_img_tensor = attack.generate(x=img_tensor.cpu().numpy())
@@ -69,4 +66,14 @@ def process_image(inputs: dict):
69
  bwm.embed(img_bytes)
70
  result_image = base64.b64encode(img_bytes.getvalue()).decode('utf-8')
71
 
72
- return {"image": result_image}
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
  import torch
3
  from torchvision import transforms, models
4
  from art.attacks.evasion import FastGradientMethod
 
18
  model.eval()
19
  return model
20
 
21
+ def process_image(input_image, eps_value=0.3):
 
 
 
22
  model = load_model()
23
  device = torch.device("cpu")
24
  model = model.to(device)
 
40
  std=[0.229, 0.224, 0.225])
41
  ])
42
 
43
+ img_tensor = transform(input_image).unsqueeze(0).to(device)
 
44
 
45
  attack = FastGradientMethod(estimator=classifier, eps=eps_value)
46
  adv_img_tensor = attack.generate(x=img_tensor.cpu().numpy())
 
66
  bwm.embed(img_bytes)
67
  result_image = base64.b64encode(img_bytes.getvalue()).decode('utf-8')
68
 
69
+ return result_image
70
+
71
+ # Gradio 인터페이스 정의
72
+ def inference(image, eps_value):
73
+ return process_image(image, eps_value)
74
+
75
+ gr.Interface(
76
+ fn=inference,
77
+ inputs=[gr.inputs.Image(type="pil"), gr.inputs.Slider(0.1, 1.0, step=0.1, default=0.3, label="Epsilon")],
78
+ outputs="image"
79
+ ).launch()