Spaces:
Running
on
Zero
Running
on
Zero
bennyguo
commited on
Commit
·
b98ab62
1
Parent(s):
f58f6bd
add prompt confidence
Browse files
app.py
CHANGED
|
@@ -154,7 +154,7 @@ def get_random_seed():
|
|
| 154 |
|
| 155 |
# Apply decorator conditionally
|
| 156 |
@spaces.GPU() if ENABLE_ZEROGPU else lambda func: func
|
| 157 |
-
def generate_3d(scribble_image_dict, prompt, scribble_confidence, seed): # Added
|
| 158 |
print("Generating 3D model...")
|
| 159 |
# Extract the composite image from the ImageEditor dictionary
|
| 160 |
if scribble_image_dict is None or scribble_image_dict.get("composite") is None:
|
|
@@ -177,7 +177,7 @@ def generate_3d(scribble_image_dict, prompt, scribble_confidence, seed): # Added
|
|
| 177 |
print("Image preprocessed.")
|
| 178 |
|
| 179 |
# Define fixed parameters
|
| 180 |
-
attn_scale_text = 1.0 #
|
| 181 |
|
| 182 |
# Set the generator with the provided seed
|
| 183 |
generator = torch.Generator(device='cuda').manual_seed(current_seed)
|
|
@@ -187,11 +187,11 @@ def generate_3d(scribble_image_dict, prompt, scribble_confidence, seed): # Added
|
|
| 187 |
out = pipe(
|
| 188 |
processed_image,
|
| 189 |
prompt=prompt,
|
| 190 |
-
num_tokens=512,
|
| 191 |
-
guidance_scale=0,
|
| 192 |
-
num_inference_steps=16,
|
| 193 |
attention_kwargs={
|
| 194 |
-
"cross_attention_scale":
|
| 195 |
"cross_attention_2_scale": scribble_confidence
|
| 196 |
},
|
| 197 |
generator=generator,
|
|
@@ -229,6 +229,7 @@ with gr.Blocks() as demo:
|
|
| 229 |
)
|
| 230 |
prompt_input = gr.Textbox(label="Prompt", placeholder="e.g., a cute cat wearing a hat")
|
| 231 |
confidence_input = gr.Slider(minimum=0.0, maximum=1.0, value=0.4, step=0.05, label="Scribble Confidence")
|
|
|
|
| 232 |
seed_input = gr.Number(label="Seed", value=0, precision=0) # Added Seed input back
|
| 233 |
with gr.Row():
|
| 234 |
submit_button = gr.Button("Generate 3D Model", variant="primary", scale=1)
|
|
@@ -237,16 +238,16 @@ with gr.Blocks() as demo:
|
|
| 237 |
model_output = gr.Model3D(label="Generated 3D Model", interactive=False)
|
| 238 |
|
| 239 |
# Define the inputs for the main generation function
|
| 240 |
-
gen_inputs = [image_input, prompt_input, confidence_input, seed_input]
|
| 241 |
|
| 242 |
submit_button.click(
|
| 243 |
fn=generate_3d,
|
| 244 |
-
inputs=gen_inputs, # Include seed_input
|
| 245 |
outputs=model_output
|
| 246 |
)
|
| 247 |
|
| 248 |
# Define inputs for the lucky button (same as main button for the final call)
|
| 249 |
-
lucky_gen_inputs = [image_input, prompt_input, confidence_input, seed_input]
|
| 250 |
|
| 251 |
lucky_button.click(
|
| 252 |
fn=get_random_seed, # First, get a random seed
|
|
|
|
| 154 |
|
| 155 |
# Apply decorator conditionally
|
| 156 |
@spaces.GPU() if ENABLE_ZEROGPU else lambda func: func
|
| 157 |
+
def generate_3d(scribble_image_dict, prompt, scribble_confidence, prompt_confidence, seed): # Added text_confidence parameter
|
| 158 |
print("Generating 3D model...")
|
| 159 |
# Extract the composite image from the ImageEditor dictionary
|
| 160 |
if scribble_image_dict is None or scribble_image_dict.get("composite") is None:
|
|
|
|
| 177 |
print("Image preprocessed.")
|
| 178 |
|
| 179 |
# Define fixed parameters
|
| 180 |
+
# attn_scale_text = 1.0 # Replaced by text_confidence input
|
| 181 |
|
| 182 |
# Set the generator with the provided seed
|
| 183 |
generator = torch.Generator(device='cuda').manual_seed(current_seed)
|
|
|
|
| 187 |
out = pipe(
|
| 188 |
processed_image,
|
| 189 |
prompt=prompt,
|
| 190 |
+
num_tokens=512, # Default value from example
|
| 191 |
+
guidance_scale=0, # Default value from example
|
| 192 |
+
num_inference_steps=16, # Default value from example
|
| 193 |
attention_kwargs={
|
| 194 |
+
"cross_attention_scale": prompt_confidence, # Use input parameter
|
| 195 |
"cross_attention_2_scale": scribble_confidence
|
| 196 |
},
|
| 197 |
generator=generator,
|
|
|
|
| 229 |
)
|
| 230 |
prompt_input = gr.Textbox(label="Prompt", placeholder="e.g., a cute cat wearing a hat")
|
| 231 |
confidence_input = gr.Slider(minimum=0.0, maximum=1.0, value=0.4, step=0.05, label="Scribble Confidence")
|
| 232 |
+
prompt_confidence_input = gr.Slider(minimum=0.0, maximum=1.0, value=1.0, step=0.05, label="Prompt Confidence") # Added slider
|
| 233 |
seed_input = gr.Number(label="Seed", value=0, precision=0) # Added Seed input back
|
| 234 |
with gr.Row():
|
| 235 |
submit_button = gr.Button("Generate 3D Model", variant="primary", scale=1)
|
|
|
|
| 238 |
model_output = gr.Model3D(label="Generated 3D Model", interactive=False)
|
| 239 |
|
| 240 |
# Define the inputs for the main generation function
|
| 241 |
+
gen_inputs = [image_input, prompt_input, confidence_input, prompt_confidence_input, seed_input] # Added text_confidence_input
|
| 242 |
|
| 243 |
submit_button.click(
|
| 244 |
fn=generate_3d,
|
| 245 |
+
inputs=gen_inputs, # Include seed_input and text_confidence_input
|
| 246 |
outputs=model_output
|
| 247 |
)
|
| 248 |
|
| 249 |
# Define inputs for the lucky button (same as main button for the final call)
|
| 250 |
+
lucky_gen_inputs = [image_input, prompt_input, confidence_input, prompt_confidence_input, seed_input] # Added text_confidence_input
|
| 251 |
|
| 252 |
lucky_button.click(
|
| 253 |
fn=get_random_seed, # First, get a random seed
|