anzorq commited on
Commit
9a9456e
1 Parent(s): 1723973

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -8
app.py CHANGED
@@ -93,7 +93,7 @@ def get_sampler(model_name, txt2obj, guidance_scale):
93
  model_kwargs_key_filter=('texts', '') if txt2obj else ("*",)
94
  )
95
 
96
- def generate_txt2sd(prompt):
97
  prompt = f"“a 3d rendering of {prompt}, chair imitating an avocado, full view, white background"
98
  stable_diffusion = gr.Blocks.load(name="spaces/runwayml/stable-diffusion-v1-5")
99
  image = stable_diffusion(prompt, fn_index=2)[0]
@@ -190,19 +190,21 @@ with gr.Blocks() as app:
190
  with gr.Tab("Text to 3D"):
191
  prompt = gr.Textbox(label="Prompt", placeholder="A cactus in a pot")
192
  btn_generate_txt2obj = gr.Button(value="Generate")
 
193
  with gr.Tab("Image to 3D"):
194
  img = gr.Image(label="Image")
195
  gr.Markdown("Best results with images of 3D objects with no shadows on a white background.")
196
  btn_generate_img2obj = gr.Button(value="Generate")
197
- with gr.Tab("Text to SD to 3D"):
 
198
  gr.Markdown("Generate an image with Stable Diffusion, then convert to 3D. Just enter the object you want to generate.")
199
  prompt_sd = gr.Textbox(label="Prompt", placeholder="a 3d rendering of [your prompt], full view, white background")
200
  btn_generate_txt2sd = gr.Button(value="Generate")
201
- img_sd = gr.Image(label="Image", visible=False)
202
  btn_generate_sd2obj = gr.Button(value="Convert to 3D", visible=False)
203
 
204
  with gr.Accordion("Advanced settings", open=False):
205
- dropdown_models = gr.Dropdown(label="Model", value="base40M", choices=["base40M"]) #, "base300M", "base1B"])
206
  guidance_scale = gr.Slider(label="Guidance scale", value=3.0, minimum=3.0, maximum=10.0, step=0.1)
207
  grid_size = gr.Slider(label="Grid size (for .obj 3D model)", value=32, minimum=16, maximum=128, step=16)
208
 
@@ -219,11 +221,12 @@ with gr.Blocks() as app:
219
  outputs = [plot, model_3d, file_out]
220
 
221
  prompt.submit(generate_3D, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
222
-
223
  btn_generate_txt2obj.click(generate_3D, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
 
224
  btn_generate_img2obj.click(generate_3D, inputs=[img, dropdown_models, guidance_scale, grid_size], outputs=outputs)
225
 
226
- btn_generate_txt2sd.click(generate_txt2sd, inputs=prompt_sd, outputs=[img_sd, btn_generate_sd2obj])
 
227
  btn_generate_sd2obj.click(generate_3D, inputs=[img, dropdown_models, guidance_scale, grid_size], outputs=outputs)
228
 
229
  # btn_pc_to_obj.click(ply_to_obj, inputs=plot, outputs=[model_3d, file_out])
@@ -252,7 +255,7 @@ with gr.Blocks() as app:
252
  inputs=[prompt],
253
  outputs=outputs,
254
  fn=generate_3D,
255
- cache_examples=True
256
  )
257
 
258
  gr.Examples(
@@ -264,7 +267,7 @@ with gr.Blocks() as app:
264
  inputs=[img],
265
  outputs=outputs,
266
  fn=generate_3D,
267
- cache_examples=True
268
  )
269
 
270
  # app.load(get_state, inputs=[], outputs=state_info, every=0.5, show_progress=False)
 
93
  model_kwargs_key_filter=('texts', '') if txt2obj else ("*",)
94
  )
95
 
96
+ def generate_txt2img(prompt):
97
  prompt = f"“a 3d rendering of {prompt}, chair imitating an avocado, full view, white background"
98
  stable_diffusion = gr.Blocks.load(name="spaces/runwayml/stable-diffusion-v1-5")
99
  image = stable_diffusion(prompt, fn_index=2)[0]
 
190
  with gr.Tab("Text to 3D"):
191
  prompt = gr.Textbox(label="Prompt", placeholder="A cactus in a pot")
192
  btn_generate_txt2obj = gr.Button(value="Generate")
193
+
194
  with gr.Tab("Image to 3D"):
195
  img = gr.Image(label="Image")
196
  gr.Markdown("Best results with images of 3D objects with no shadows on a white background.")
197
  btn_generate_img2obj = gr.Button(value="Generate")
198
+
199
+ with gr.Tab("Text to Image to 3D"):
200
  gr.Markdown("Generate an image with Stable Diffusion, then convert to 3D. Just enter the object you want to generate.")
201
  prompt_sd = gr.Textbox(label="Prompt", placeholder="a 3d rendering of [your prompt], full view, white background")
202
  btn_generate_txt2sd = gr.Button(value="Generate")
203
+ img_sd = gr.Image(label="Image")
204
  btn_generate_sd2obj = gr.Button(value="Convert to 3D", visible=False)
205
 
206
  with gr.Accordion("Advanced settings", open=False):
207
+ dropdown_models = gr.Dropdown(label="Model", value="base40M", choices=["base40M", "base300M"]) #, "base1B"])
208
  guidance_scale = gr.Slider(label="Guidance scale", value=3.0, minimum=3.0, maximum=10.0, step=0.1)
209
  grid_size = gr.Slider(label="Grid size (for .obj 3D model)", value=32, minimum=16, maximum=128, step=16)
210
 
 
221
  outputs = [plot, model_3d, file_out]
222
 
223
  prompt.submit(generate_3D, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
 
224
  btn_generate_txt2obj.click(generate_3D, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
225
+
226
  btn_generate_img2obj.click(generate_3D, inputs=[img, dropdown_models, guidance_scale, grid_size], outputs=outputs)
227
 
228
+ prompt_sd.submit(generate_txt2img, inputs=prompt_sd, outputs=[img_sd, btn_generate_sd2obj])
229
+ btn_generate_txt2sd.click(generate_txt2img, inputs=prompt_sd, outputs=[img_sd, btn_generate_sd2obj])
230
  btn_generate_sd2obj.click(generate_3D, inputs=[img, dropdown_models, guidance_scale, grid_size], outputs=outputs)
231
 
232
  # btn_pc_to_obj.click(ply_to_obj, inputs=plot, outputs=[model_3d, file_out])
 
255
  inputs=[prompt],
256
  outputs=outputs,
257
  fn=generate_3D,
258
+ cache_examples=False
259
  )
260
 
261
  gr.Examples(
 
267
  inputs=[img],
268
  outputs=outputs,
269
  fn=generate_3D,
270
+ cache_examples=False
271
  )
272
 
273
  # app.load(get_state, inputs=[], outputs=state_info, every=0.5, show_progress=False)