Spaces:
Sleeping
Sleeping
Commit
·
c99a000
1
Parent(s):
e190334
Update app.py
Browse filesAdd inpainting model
app.py
CHANGED
@@ -7,10 +7,10 @@ import torch
|
|
7 |
import requests
|
8 |
from tqdm import tqdm
|
9 |
|
10 |
-
from diffusers import StableDiffusionImg2ImgPipeline
|
11 |
import torchvision.transforms as T
|
12 |
|
13 |
-
from utils import preprocess, recover_image
|
14 |
|
15 |
to_pil = T.ToPILImage()
|
16 |
|
@@ -28,15 +28,22 @@ pipe_img2img = StableDiffusionImg2ImgPipeline.from_pretrained(
|
|
28 |
torch_dtype=torch.float16,
|
29 |
)
|
30 |
pipe_img2img = pipe_img2img.to("cuda")
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
X_adv = X.clone().detach() + (torch.rand(*X.shape)*2*eps-eps).cuda()
|
33 |
pbar = tqdm(range(iters))
|
34 |
for i in pbar:
|
35 |
actual_step_size = step_size - (step_size - step_size / 100) / iters * i
|
|
|
36 |
|
37 |
-
X_adv.
|
38 |
-
|
39 |
-
loss = (model(X_adv).latent_dist.mean).norm()
|
40 |
|
41 |
pbar.set_description(f"[Running attack]: Loss {loss.item():.5f} | step size: {actual_step_size:.4}")
|
42 |
|
|
|
7 |
import requests
|
8 |
from tqdm import tqdm
|
9 |
|
10 |
+
from diffusers import StableDiffusionImg2ImgPipeline, StableDiffusionInpaintPipeline
|
11 |
import torchvision.transforms as T
|
12 |
|
13 |
+
from utils import preprocess,prepare_mask_and_masked_image, recover_image
|
14 |
|
15 |
to_pil = T.ToPILImage()
|
16 |
|
|
|
28 |
torch_dtype=torch.float16,
|
29 |
)
|
30 |
pipe_img2img = pipe_img2img.to("cuda")
|
31 |
+
|
32 |
+
pipe_inpaint = StableDiffusionInpaintPipeline.from_pretrained(
|
33 |
+
"runwayml/stable-diffusion-inpainting",
|
34 |
+
revision="fp16",
|
35 |
+
torch_dtype=torch.float16,
|
36 |
+
)
|
37 |
+
pipe_inpaint = pipe_inpaint.to("cuda")
|
38 |
+
|
39 |
+
def pgd(X, target, model, criterion, eps=0.1, step_size=0.015, iters=40, clamp_min=0, clamp_max=1, mask=None):
|
40 |
X_adv = X.clone().detach() + (torch.rand(*X.shape)*2*eps-eps).cuda()
|
41 |
pbar = tqdm(range(iters))
|
42 |
for i in pbar:
|
43 |
actual_step_size = step_size - (step_size - step_size / 100) / iters * i
|
44 |
+
X_adv.requires_grad_(True)
|
45 |
|
46 |
+
loss = (model(X_adv).latent_dist.mean - target).norm()
|
|
|
|
|
47 |
|
48 |
pbar.set_description(f"[Running attack]: Loss {loss.item():.5f} | step size: {actual_step_size:.4}")
|
49 |
|