Spaces:
Running
on
Zero
Running
on
Zero
bug fix
Browse files
app.py
CHANGED
@@ -27,15 +27,20 @@ vae_model_id = "madebyollin/sdxl-vae-fp16-fix"
|
|
27 |
if torch.cuda.is_available():
|
28 |
|
29 |
# load pipe
|
30 |
-
controlnet = ControlNetModel.from_pretrained(
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
32 |
pipe = StableDiffusionXLControlNetPipeline.from_pretrained(
|
33 |
base_model_id,
|
34 |
controlnet=controlnet,
|
35 |
-
vae=vae,
|
36 |
-
variant="fp16",
|
37 |
use_safetensors=True,
|
38 |
-
torch_dtype=torch.
|
39 |
)
|
40 |
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config)
|
41 |
pipe.to(device)
|
@@ -62,7 +67,6 @@ def get_depth_map(image):
|
|
62 |
image = feature_extractor(images=image, return_tensors="pt").pixel_values.to("cuda")
|
63 |
with torch.no_grad(), torch.autocast("cuda"):
|
64 |
depth_map = depth_estimator(image).predicted_depth
|
65 |
-
print("get_depth_map", original_size)
|
66 |
depth_map = torch.nn.functional.interpolate(
|
67 |
depth_map.unsqueeze(1),
|
68 |
size=original_size,
|
@@ -93,7 +97,6 @@ def process(image, image_url, prompt, n_prompt, num_steps, guidance_scale, contr
|
|
93 |
generator = torch.Generator().manual_seed(seed)
|
94 |
generated_image = pipe(
|
95 |
prompt=prompt,
|
96 |
-
image=orginal_image,
|
97 |
negative_prompt=n_prompt,
|
98 |
width=size[0],
|
99 |
height=size[1],
|
@@ -101,7 +104,7 @@ def process(image, image_url, prompt, n_prompt, num_steps, guidance_scale, contr
|
|
101 |
num_inference_steps=num_steps,
|
102 |
strength=control_strength,
|
103 |
generator=generator,
|
104 |
-
|
105 |
).images[0]
|
106 |
return [[depth_image, generated_image], "ok"]
|
107 |
|
|
|
27 |
if torch.cuda.is_available():
|
28 |
|
29 |
# load pipe
|
30 |
+
controlnet = ControlNetModel.from_pretrained(
|
31 |
+
controlnet_model_id,
|
32 |
+
# variant="fp16",
|
33 |
+
use_safetensors=True,
|
34 |
+
torch_dtype=torch.float32
|
35 |
+
)
|
36 |
+
# vae = AutoencoderKL.from_pretrained(vae_model_id, torch_dtype=torch.float16)
|
37 |
pipe = StableDiffusionXLControlNetPipeline.from_pretrained(
|
38 |
base_model_id,
|
39 |
controlnet=controlnet,
|
40 |
+
# vae=vae,
|
41 |
+
# variant="fp16",
|
42 |
use_safetensors=True,
|
43 |
+
torch_dtype=torch.float32,
|
44 |
)
|
45 |
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config)
|
46 |
pipe.to(device)
|
|
|
67 |
image = feature_extractor(images=image, return_tensors="pt").pixel_values.to("cuda")
|
68 |
with torch.no_grad(), torch.autocast("cuda"):
|
69 |
depth_map = depth_estimator(image).predicted_depth
|
|
|
70 |
depth_map = torch.nn.functional.interpolate(
|
71 |
depth_map.unsqueeze(1),
|
72 |
size=original_size,
|
|
|
97 |
generator = torch.Generator().manual_seed(seed)
|
98 |
generated_image = pipe(
|
99 |
prompt=prompt,
|
|
|
100 |
negative_prompt=n_prompt,
|
101 |
width=size[0],
|
102 |
height=size[1],
|
|
|
104 |
num_inference_steps=num_steps,
|
105 |
strength=control_strength,
|
106 |
generator=generator,
|
107 |
+
image=depth_image
|
108 |
).images[0]
|
109 |
return [[depth_image, generated_image], "ok"]
|
110 |
|