Spaces:
Sleeping
Sleeping
update codes to support the scenario when no glyph instructions are provided.
Browse files- app.py +8 -4
- scripts/rendertext_tool.py +9 -3
app.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1 |
-
from cldm.ddim_hacked import DDIMSampler
|
2 |
import math
|
3 |
from omegaconf import OmegaConf
|
4 |
from scripts.rendertext_tool import Render_Text, load_model_from_config, load_model_ckpt
|
@@ -63,8 +62,8 @@ def process_multi_wrapper_only_show_rendered(rendered_txt_0, rendered_txt_1, ren
|
|
63 |
yaw_values = [yaw_0, yaw_1, yaw_2, yaw_3]
|
64 |
num_rows_values = [num_rows_0, num_rows_1, num_rows_2, num_rows_3]
|
65 |
allow_run_generation = True
|
66 |
-
|
67 |
-
|
68 |
width_values, ratio_values,
|
69 |
top_left_x_values, top_left_y_values,
|
70 |
yaw_values, num_rows_values,
|
@@ -72,7 +71,12 @@ def process_multi_wrapper_only_show_rendered(rendered_txt_0, rendered_txt_1, ren
|
|
72 |
shared_ddim_steps, shared_guess_mode,
|
73 |
shared_strength, shared_scale, shared_seed,
|
74 |
shared_eta, shared_a_prompt, shared_n_prompt,
|
75 |
-
only_show_rendered_image=True)
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
def load_ckpt(model_ckpt = "LAION-Glyph-10M-Epoch-5"):
|
78 |
global render_tool, model
|
|
|
|
|
1 |
import math
|
2 |
from omegaconf import OmegaConf
|
3 |
from scripts.rendertext_tool import Render_Text, load_model_from_config, load_model_ckpt
|
|
|
62 |
yaw_values = [yaw_0, yaw_1, yaw_2, yaw_3]
|
63 |
num_rows_values = [num_rows_0, num_rows_1, num_rows_2, num_rows_3]
|
64 |
allow_run_generation = True
|
65 |
+
|
66 |
+
glyph_image = render_tool.process_multi(rendered_txt_values, shared_prompt,
|
67 |
width_values, ratio_values,
|
68 |
top_left_x_values, top_left_y_values,
|
69 |
yaw_values, num_rows_values,
|
|
|
71 |
shared_ddim_steps, shared_guess_mode,
|
72 |
shared_strength, shared_scale, shared_seed,
|
73 |
shared_eta, shared_a_prompt, shared_n_prompt,
|
74 |
+
only_show_rendered_image=True)
|
75 |
+
|
76 |
+
if glyph_image[0] is None:
|
77 |
+
return "Warning: no glyph image would be rendered because the glyph insructions are not provided!", glyph_image, allow_run_generation
|
78 |
+
else:
|
79 |
+
return "The glyph image is successfully rendered!", glyph_image, allow_run_generation
|
80 |
|
81 |
def load_ckpt(model_ckpt = "LAION-Glyph-10M-Epoch-5"):
|
82 |
global render_tool, model
|
scripts/rendertext_tool.py
CHANGED
@@ -83,7 +83,8 @@ class Render_Text:
|
|
83 |
self.transform = transform
|
84 |
self.ddim_sampler = DDIMSampler(model)
|
85 |
self.save_memory = save_memory
|
86 |
-
|
|
|
87 |
def process_multi(self,
|
88 |
rendered_txt_values, shared_prompt,
|
89 |
width_values, ratio_values,
|
@@ -102,8 +103,12 @@ class Render_Text:
|
|
102 |
self.precision_scope("cuda"), \
|
103 |
self.model.ema_scope("Sampling on Benchmark Prompts"):
|
104 |
print("rendered txt:", str(rendered_txt_values), "[t]")
|
105 |
-
|
|
|
|
|
106 |
control = None
|
|
|
|
|
107 |
else:
|
108 |
def format_bboxes(width_values, ratio_values, top_left_x_values, top_left_y_values, yaw_values):
|
109 |
bboxes = []
|
@@ -193,7 +198,8 @@ class Render_Text:
|
|
193 |
x_samples = (einops.rearrange(x_samples, 'b c h w -> b h w c') * 127.5 + 127.5).cpu().numpy().clip(0, 255).astype(np.uint8)
|
194 |
|
195 |
results = [x_samples[i] for i in range(shared_num_samples)]
|
196 |
-
if rendered_txt_values != "":
|
|
|
197 |
return [whiteboard_img] + results
|
198 |
else:
|
199 |
return results
|
|
|
83 |
self.transform = transform
|
84 |
self.ddim_sampler = DDIMSampler(model)
|
85 |
self.save_memory = save_memory
|
86 |
+
|
87 |
+
# process multiple groups of rendered text for building demo
|
88 |
def process_multi(self,
|
89 |
rendered_txt_values, shared_prompt,
|
90 |
width_values, ratio_values,
|
|
|
103 |
self.precision_scope("cuda"), \
|
104 |
self.model.ema_scope("Sampling on Benchmark Prompts"):
|
105 |
print("rendered txt:", str(rendered_txt_values), "[t]")
|
106 |
+
render_none = len([1 for rendered_txt in rendered_txt_values if rendered_txt != ""]) == 0
|
107 |
+
if render_none:
|
108 |
+
# if rendered_txt_values == "":
|
109 |
control = None
|
110 |
+
if only_show_rendered_image:
|
111 |
+
return [None]
|
112 |
else:
|
113 |
def format_bboxes(width_values, ratio_values, top_left_x_values, top_left_y_values, yaw_values):
|
114 |
bboxes = []
|
|
|
198 |
x_samples = (einops.rearrange(x_samples, 'b c h w -> b h w c') * 127.5 + 127.5).cpu().numpy().clip(0, 255).astype(np.uint8)
|
199 |
|
200 |
results = [x_samples[i] for i in range(shared_num_samples)]
|
201 |
+
# if rendered_txt_values != "":
|
202 |
+
if not render_none:
|
203 |
return [whiteboard_img] + results
|
204 |
else:
|
205 |
return results
|