nuwandaa commited on
Commit
4f8acba
·
1 Parent(s): 48bb8b8

Add traceback

Browse files
Files changed (1) hide show
  1. app.py +47 -43
app.py CHANGED
@@ -12,6 +12,7 @@ import spaces
12
  from gradio_imageslider import ImageSlider
13
  from torchvision.transforms.functional import to_pil_image, to_tensor
14
  from PIL import ImageFilter
 
15
 
16
 
17
  def preprocess_image(input_image, device):
@@ -73,49 +74,52 @@ if is_cpu_offload_enabled:
73
 
74
  @spaces.GPU
75
  def remove(gradio_image, rm_guidance_scale=9, num_inference_steps=50, seed=42, strength=0.8):
76
- generator = torch.Generator('cuda').manual_seed(seed)
77
- prompt = "" # Set prompt to null
78
-
79
- source_image_pure = gradio_image["background"]
80
- mask_image_pure = gradio_image["layers"][0]
81
- source_image = preprocess_image(source_image_pure.convert('RGB'), device)
82
- mask = preprocess_mask(mask_image_pure, device)
83
-
84
- START_STEP = 0 # AAS start step
85
- END_STEP = int(strength * num_inference_steps) # AAS end step
86
- LAYER = 34 # 0~23down,24~33mid,34~69up /AAS start layer
87
- END_LAYER = 70 # AAS end layer
88
- ss_steps = 9 # similarity suppression steps
89
- ss_scale = 0.3 # similarity suppression scale
90
-
91
- image = pipeline(
92
- prompt=prompt,
93
- image=source_image,
94
- mask_image=mask,
95
- height=1024,
96
- width=1024,
97
- AAS=True, # enable AAS
98
- strength=strength, # inpainting strength
99
- rm_guidance_scale=rm_guidance_scale, # removal guidance scale
100
- ss_steps = ss_steps, # similarity suppression steps
101
- ss_scale = ss_scale, # similarity suppression scale
102
- AAS_start_step=START_STEP, # AAS start step
103
- AAS_start_layer=LAYER, # AAS start layer
104
- AAS_end_layer=END_LAYER, # AAS end layer
105
- num_inference_steps=num_inference_steps, # number of inference steps # AAS_end_step = int(strength*num_inference_steps)
106
- generator=generator,
107
- guidance_scale=1
108
- ).images[0]
109
- print('Inferece: DONE.')
110
-
111
- # pil_mask = to_pil_image(mask.squeeze(0))
112
- # pil_mask_blurred = pil_mask.filter(ImageFilter.GaussianBlur(radius=15))
113
- # mask_blurred = to_tensor(pil_mask_blurred).unsqueeze_(0).to(mask.device)
114
- # mask_f = 1-(1 - mask) * (1 - mask_blurred)
115
-
116
- # image_1 = image.unsqueeze(0)
117
-
118
- return source_image, image
 
 
 
119
 
120
 
121
  title = """<h1 align="center">Object Remove</h1>"""
 
12
  from gradio_imageslider import ImageSlider
13
  from torchvision.transforms.functional import to_pil_image, to_tensor
14
  from PIL import ImageFilter
15
+ import traceback
16
 
17
 
18
  def preprocess_image(input_image, device):
 
74
 
75
  @spaces.GPU
76
  def remove(gradio_image, rm_guidance_scale=9, num_inference_steps=50, seed=42, strength=0.8):
77
+ try:
78
+ generator = torch.Generator('cuda').manual_seed(seed)
79
+ prompt = "" # Set prompt to null
80
+
81
+ source_image_pure = gradio_image["background"]
82
+ mask_image_pure = gradio_image["layers"][0]
83
+ source_image = preprocess_image(source_image_pure.convert('RGB'), device)
84
+ mask = preprocess_mask(mask_image_pure, device)
85
+
86
+ START_STEP = 0 # AAS start step
87
+ END_STEP = int(strength * num_inference_steps) # AAS end step
88
+ LAYER = 34 # 0~23down,24~33mid,34~69up /AAS start layer
89
+ END_LAYER = 70 # AAS end layer
90
+ ss_steps = 9 # similarity suppression steps
91
+ ss_scale = 0.3 # similarity suppression scale
92
+
93
+ image = pipeline(
94
+ prompt=prompt,
95
+ image=source_image,
96
+ mask_image=mask,
97
+ height=1024,
98
+ width=1024,
99
+ AAS=True, # enable AAS
100
+ strength=strength, # inpainting strength
101
+ rm_guidance_scale=rm_guidance_scale, # removal guidance scale
102
+ ss_steps = ss_steps, # similarity suppression steps
103
+ ss_scale = ss_scale, # similarity suppression scale
104
+ AAS_start_step=START_STEP, # AAS start step
105
+ AAS_start_layer=LAYER, # AAS start layer
106
+ AAS_end_layer=END_LAYER, # AAS end layer
107
+ num_inference_steps=num_inference_steps, # number of inference steps # AAS_end_step = int(strength*num_inference_steps)
108
+ generator=generator,
109
+ guidance_scale=1
110
+ ).images[0]
111
+ print('Inferece: DONE.')
112
+
113
+ # pil_mask = to_pil_image(mask.squeeze(0))
114
+ # pil_mask_blurred = pil_mask.filter(ImageFilter.GaussianBlur(radius=15))
115
+ # mask_blurred = to_tensor(pil_mask_blurred).unsqueeze_(0).to(mask.device)
116
+ # mask_f = 1-(1 - mask) * (1 - mask_blurred)
117
+
118
+ # image_1 = image.unsqueeze(0)
119
+
120
+ return source_image, image
121
+ except:
122
+ print(traceback.format_exc())
123
 
124
 
125
  title = """<h1 align="center">Object Remove</h1>"""