owiedotch commited on
Commit
fe00ed3
1 Parent(s): 081465c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -30
app.py CHANGED
@@ -79,10 +79,7 @@ def process(
79
  seed: int,
80
  tile_diffusion: bool,
81
  tile_diffusion_size: int,
82
- tile_diffusion_stride: int,
83
- tile_vae: bool,
84
- vae_encoder_tile_size: int,
85
- vae_decoder_tile_size: int
86
  ):
87
  print(
88
  f"control image shape={control_img.size}\n"
@@ -91,7 +88,6 @@ def process(
91
  f"cdf scale={cfg_scale}, steps={steps}, use_color_fix={use_color_fix}\n"
92
  f"seed={seed}\n"
93
  f"tile_diffusion={tile_diffusion}, tile_diffusion_size={tile_diffusion_size}, tile_diffusion_stride={tile_diffusion_stride}"
94
- f"tile_vae={tile_vae}, vae_encoder_tile_size={vae_encoder_tile_size}, vae_decoder_tile_size={vae_decoder_tile_size}"
95
  )
96
  if seed == -1:
97
  seed = random.randint(0, 2**32 - 1)
@@ -125,7 +121,7 @@ def process(
125
  shape = (1, 4, height // 8, width // 8)
126
  x_T = torch.randn(shape, device=model.device, dtype=torch.float32)
127
 
128
- if not tile_diffusion and not tile_vae:
129
  samples = sampler.sample_ccsr(
130
  steps=steps, t_max=0.6667, t_min=0.3333, shape=shape, cond_img=control,
131
  positive_prompt=positive_prompt, negative_prompt=negative_prompt, x_T=x_T,
@@ -133,23 +129,13 @@ def process(
133
  color_fix_type="adain" if use_color_fix else "none"
134
  )
135
  else:
136
- if tile_vae:
137
- model._init_tiled_vae(encoder_tile_size=vae_encoder_tile_size, decoder_tile_size=vae_decoder_tile_size)
138
- if tile_diffusion:
139
- samples = sampler.sample_with_tile_ccsr(
140
- tile_size=tile_diffusion_size, tile_stride=tile_diffusion_stride,
141
- steps=steps, t_max=0.6667, t_min=0.3333, shape=shape, cond_img=control,
142
- positive_prompt=positive_prompt, negative_prompt=negative_prompt, x_T=x_T,
143
- cfg_scale=cfg_scale,
144
- color_fix_type="adain" if use_color_fix else "none"
145
- )
146
- else:
147
- samples = sampler.sample_ccsr(
148
- steps=steps, t_max=0.6667, t_min=0.3333, shape=shape, cond_img=control,
149
- positive_prompt=positive_prompt, negative_prompt=negative_prompt, x_T=x_T,
150
- cfg_scale=cfg_scale,
151
- color_fix_type="adain" if use_color_fix else "none"
152
- )
153
 
154
  x_samples = samples.clamp(0, 1)
155
  x_samples = (einops.rearrange(x_samples, "b c h w -> b h w c") * 255).cpu().numpy().clip(0, 255).astype(np.uint8)
@@ -195,12 +181,9 @@ with block:
195
  tile_diffusion = gr.Checkbox(label="Tile diffusion", value=False, info="Enable tiled diffusion for large images.")
196
  tile_diffusion_size = gr.Slider(label="Tile diffusion size", minimum=512, maximum=1024, value=512, step=256, info="Size of each tile for tiled diffusion.")
197
  tile_diffusion_stride = gr.Slider(label="Tile diffusion stride", minimum=256, maximum=512, value=256, step=128, info="Stride between tiles for tiled diffusion.")
198
- tile_vae = gr.Checkbox(label="Tile VAE", value=True, info="Enable tiled VAE for large images.")
199
- vae_encoder_tile_size = gr.Slider(label="Encoder tile size", minimum=512, maximum=5000, value=1024, step=256, info="Size of each tile for the VAE encoder.")
200
- vae_decoder_tile_size = gr.Slider(label="Decoder tile size", minimum=64, maximum=512, value=224, step=128, info="Size of each tile for the VAE decoder.")
201
 
202
  with gr.Column():
203
- result_gallery = gr.Gallery(label="Output", show_label=False, elem_id="gallery")
204
 
205
  inputs = [
206
  input_image,
@@ -216,9 +199,6 @@ with block:
216
  tile_diffusion,
217
  tile_diffusion_size,
218
  tile_diffusion_stride,
219
- tile_vae,
220
- vae_encoder_tile_size,
221
- vae_decoder_tile_size,
222
  ]
223
  run_button.click(fn=process, inputs=inputs, outputs=[result_gallery])
224
 
 
79
  seed: int,
80
  tile_diffusion: bool,
81
  tile_diffusion_size: int,
82
+ tile_diffusion_stride: int
 
 
 
83
  ):
84
  print(
85
  f"control image shape={control_img.size}\n"
 
88
  f"cdf scale={cfg_scale}, steps={steps}, use_color_fix={use_color_fix}\n"
89
  f"seed={seed}\n"
90
  f"tile_diffusion={tile_diffusion}, tile_diffusion_size={tile_diffusion_size}, tile_diffusion_stride={tile_diffusion_stride}"
 
91
  )
92
  if seed == -1:
93
  seed = random.randint(0, 2**32 - 1)
 
121
  shape = (1, 4, height // 8, width // 8)
122
  x_T = torch.randn(shape, device=model.device, dtype=torch.float32)
123
 
124
+ if not tile_diffusion:
125
  samples = sampler.sample_ccsr(
126
  steps=steps, t_max=0.6667, t_min=0.3333, shape=shape, cond_img=control,
127
  positive_prompt=positive_prompt, negative_prompt=negative_prompt, x_T=x_T,
 
129
  color_fix_type="adain" if use_color_fix else "none"
130
  )
131
  else:
132
+ samples = sampler.sample_with_tile_ccsr(
133
+ tile_size=tile_diffusion_size, tile_stride=tile_diffusion_stride,
134
+ steps=steps, t_max=0.6667, t_min=0.3333, shape=shape, cond_img=control,
135
+ positive_prompt=positive_prompt, negative_prompt=negative_prompt, x_T=x_T,
136
+ cfg_scale=cfg_scale,
137
+ color_fix_type="adain" if use_color_fix else "none"
138
+ )
 
 
 
 
 
 
 
 
 
 
139
 
140
  x_samples = samples.clamp(0, 1)
141
  x_samples = (einops.rearrange(x_samples, "b c h w -> b h w c") * 255).cpu().numpy().clip(0, 255).astype(np.uint8)
 
181
  tile_diffusion = gr.Checkbox(label="Tile diffusion", value=False, info="Enable tiled diffusion for large images.")
182
  tile_diffusion_size = gr.Slider(label="Tile diffusion size", minimum=512, maximum=1024, value=512, step=256, info="Size of each tile for tiled diffusion.")
183
  tile_diffusion_stride = gr.Slider(label="Tile diffusion stride", minimum=256, maximum=512, value=256, step=128, info="Stride between tiles for tiled diffusion.")
 
 
 
184
 
185
  with gr.Column():
186
+ result_gallery = gr.Gallery(label="Output", show_label=False, elem_id="gallery").style(grid=2, height="auto")
187
 
188
  inputs = [
189
  input_image,
 
199
  tile_diffusion,
200
  tile_diffusion_size,
201
  tile_diffusion_stride,
 
 
 
202
  ]
203
  run_button.click(fn=process, inputs=inputs, outputs=[result_gallery])
204