anzorq commited on
Commit
99dc3e4
1 Parent(s): e3301f3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -6
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(model_name, input, guidance_scale, grid_size):
97
 
98
  set_state('Entered generate function...')
99
 
@@ -114,11 +114,11 @@ def generate(model_name, input, guidance_scale, grid_size):
114
  pc = sampler.output_to_point_clouds(samples)[0]
115
 
116
  set_state('Converting to mesh...')
117
- save_ply(pc, 'output.ply', grid_size)
118
 
119
  set_state('')
120
 
121
- return pc_to_plot(pc), ply_to_obj('output.ply', 'output.obj'), gr.update(value='output.obj', visible=True)
122
 
123
  def prepare_img(img):
124
 
@@ -184,7 +184,9 @@ with gr.Blocks() as app:
184
  btn_generate_txt2obj = gr.Button(value="Generate")
185
  with gr.Tab("Image to 3D"):
186
  img = gr.Image(label="Image")
 
187
  btn_generate_img2obj = gr.Button(value="Generate")
 
188
  with gr.Accordion("Advanced settings", open=False):
189
  dropdown_models = gr.Dropdown(label="Model", value="base40M", choices=["base40M"]) #, "base300M", "base1B"])
190
  guidance_scale = gr.Slider(label="Guidance scale", value=3.0, minimum=3.0, maximum=10.0, step=1.0)
@@ -202,9 +204,9 @@ with gr.Blocks() as app:
202
  # inputs = [dropdown_models, prompt, img, guidance_scale, grid_size]
203
  outputs = [plot, model_3d, file_out]
204
 
205
- prompt.submit(generate, inputs=[dropdown_models, prompt, guidance_scale, grid_size], outputs=outputs)
206
- btn_generate_txt2obj.click(generate, inputs=[dropdown_models, prompt, guidance_scale, grid_size], outputs=outputs)
207
- btn_generate_img2obj.click(generate, inputs=[dropdown_models, img, guidance_scale, grid_size], outputs=outputs)
208
  # btn_pc_to_obj.click(ply_to_obj, inputs=plot, outputs=[model_3d, file_out])
209
 
210
  gr.HTML("""
@@ -219,6 +221,31 @@ with gr.Blocks() as app:
219
  </div>
220
  """)
221
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  # app.load(get_state, inputs=[], outputs=state_info, every=0.5, show_progress=False)
223
 
224
 
 
93
  model_kwargs_key_filter=('texts', '') if txt2obj else ("*",)
94
  )
95
 
96
+ def generate(input, model_name='base40M', guidance_scale=3.0, grid_size=32):
97
 
98
  set_state('Entered generate function...')
99
 
 
114
  pc = sampler.output_to_point_clouds(samples)[0]
115
 
116
  set_state('Converting to mesh...')
117
+ save_ply(pc, 'point_cloud.ply', grid_size)
118
 
119
  set_state('')
120
 
121
+ return pc_to_plot(pc), ply_to_obj('point_cloud.ply', '3d_model.obj'), gr.update(value=['3d_model.obj', 'point_cloud.ply'], visible=True)
122
 
123
  def prepare_img(img):
124
 
 
184
  btn_generate_txt2obj = gr.Button(value="Generate")
185
  with gr.Tab("Image to 3D"):
186
  img = gr.Image(label="Image")
187
+ gr.Markdown("Best results with images of 3D objects with no shadows on a white background.")
188
  btn_generate_img2obj = gr.Button(value="Generate")
189
+
190
  with gr.Accordion("Advanced settings", open=False):
191
  dropdown_models = gr.Dropdown(label="Model", value="base40M", choices=["base40M"]) #, "base300M", "base1B"])
192
  guidance_scale = gr.Slider(label="Guidance scale", value=3.0, minimum=3.0, maximum=10.0, step=1.0)
 
204
  # inputs = [dropdown_models, prompt, img, guidance_scale, grid_size]
205
  outputs = [plot, model_3d, file_out]
206
 
207
+ prompt.submit(generate, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
208
+ btn_generate_txt2obj.click(generate, inputs=[prompt, dropdown_models, guidance_scale, grid_size], outputs=outputs)
209
+ btn_generate_img2obj.click(generate, inputs=[img, dropdown_models, guidance_scale, grid_size], outputs=outputs)
210
  # btn_pc_to_obj.click(ply_to_obj, inputs=plot, outputs=[model_3d, file_out])
211
 
212
  gr.HTML("""
 
221
  </div>
222
  """)
223
 
224
+ gr.Examples(
225
+ examples=[
226
+ ["a cactus in a pot"],
227
+ ["a round table with floral tablecloth"],
228
+ ["a red kettle"],
229
+ ["a vase with flowers"],
230
+ ["a sports car"],
231
+ ["a man"],
232
+ ],
233
+ inputs=[prompt],
234
+ fn=generate,
235
+ cache_examples=True
236
+ )
237
+
238
+ gr.Examples(
239
+ examples=[
240
+ ["corgi.png"],
241
+ ["cube_stack.jpg"],
242
+ ["chair.png"],
243
+ ],
244
+ inputs=[img],
245
+ fn=generate,
246
+ cache_examples=True
247
+ )
248
+
249
  # app.load(get_state, inputs=[], outputs=state_info, every=0.5, show_progress=False)
250
 
251