xizaoqu commited on
Commit
e5d4346
·
1 Parent(s): 254ff82
Files changed (1) hide show
  1. app.py +55 -24
app.py CHANGED
@@ -157,6 +157,15 @@ def save_video(frames, path="output.mp4", fps=10):
157
  subprocess.run(ffmpeg_cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
158
  return path
159
 
 
 
 
 
 
 
 
 
 
160
  @hydra.main(
161
  version_base=None,
162
  config_path="configurations",
@@ -172,15 +181,17 @@ def run(cfg: DictConfig):
172
 
173
  memory_frames.append(load_image_as_tensor(DEFAULT_IMAGE))
174
 
175
- @spaces.GPU()
176
- def run_interactive(first_frame, action, first_pose, curr_frame, device):
177
- global algo
178
- new_frame = algo.interactive(first_frame,
179
- action,
180
- first_pose,
181
- curr_frame,
182
- device=device)
183
- return new_frame
 
 
184
 
185
  def set_denoising_steps(denoising_steps, sampling_timesteps_state):
186
  algo.sampling_timesteps = denoising_steps
@@ -198,11 +209,20 @@ def run(cfg: DictConfig):
198
 
199
  for i in range(len(actions)):
200
  memory_curr_frame += 1
201
- new_frame = run_interactive(memory_frames[0],
202
- actions[i],
203
- None,
204
- memory_curr_frame,
205
- device=device)
 
 
 
 
 
 
 
 
 
206
 
207
  memory_frames.append(new_frame)
208
 
@@ -230,11 +250,20 @@ def run(cfg: DictConfig):
230
  memory_curr_frame = 0
231
  input_history = ""
232
 
233
- _ = run_interactive(memory_frames[0],
234
- actions[0],
235
- poses[0],
236
- memory_curr_frame,
237
- device=device)
 
 
 
 
 
 
 
 
 
238
  return input_history, DEFAULT_IMAGE
239
 
240
  def on_image_click(SELECTED_IMAGE):
@@ -243,11 +272,13 @@ def run(cfg: DictConfig):
243
  reset()
244
  return SELECTED_IMAGE
245
 
246
- _ = run_interactive(memory_frames[0],
247
- actions[0],
248
- poses[0],
249
- memory_curr_frame,
250
- device)
 
 
251
 
252
  print("first algo frame:", len(algo.frames))
253
 
 
157
  subprocess.run(ffmpeg_cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
158
  return path
159
 
160
+ class InteractiveRunner:
161
+ def __init__(self, algo):
162
+ self.algo = algo
163
+
164
+ @spaces.GPU()
165
+ def run(self, first_frame, action, first_pose, curr_frame, device):
166
+ return self.algo.interactive(first_frame, action, first_pose, curr_frame, device=device)
167
+
168
+
169
  @hydra.main(
170
  version_base=None,
171
  config_path="configurations",
 
181
 
182
  memory_frames.append(load_image_as_tensor(DEFAULT_IMAGE))
183
 
184
+ runner = InteractiveRunner(algo)
185
+
186
+ # @spaces.GPU()
187
+ # def run_interactive(first_frame, action, first_pose, curr_frame, device):
188
+ # global algo
189
+ # new_frame = algo.interactive(first_frame,
190
+ # action,
191
+ # first_pose,
192
+ # curr_frame,
193
+ # device=device)
194
+ # return new_frame
195
 
196
  def set_denoising_steps(denoising_steps, sampling_timesteps_state):
197
  algo.sampling_timesteps = denoising_steps
 
209
 
210
  for i in range(len(actions)):
211
  memory_curr_frame += 1
212
+
213
+ # new_frame = run_interactive(memory_frames[0],
214
+ # actions[i],
215
+ # None,
216
+ # memory_curr_frame,
217
+ # device=device)
218
+
219
+ new_frame = runner.run(
220
+ memory_frames[0],
221
+ actions[i],
222
+ None,
223
+ memory_curr_frame,
224
+ device
225
+ )
226
 
227
  memory_frames.append(new_frame)
228
 
 
250
  memory_curr_frame = 0
251
  input_history = ""
252
 
253
+ # _ = run_interactive(memory_frames[0],
254
+ # actions[0],
255
+ # poses[0],
256
+ # memory_curr_frame,
257
+ # device=device)
258
+
259
+ new_frame = runner.run(
260
+ memory_frames[0],
261
+ actions[0],
262
+ poses[0],
263
+ memory_curr_frame,
264
+ device
265
+ )
266
+
267
  return input_history, DEFAULT_IMAGE
268
 
269
  def on_image_click(SELECTED_IMAGE):
 
272
  reset()
273
  return SELECTED_IMAGE
274
 
275
+ new_frame = runner.run(
276
+ memory_frames[0],
277
+ actions[0],
278
+ poses[0],
279
+ memory_curr_frame,
280
+ device
281
+ )
282
 
283
  print("first algo frame:", len(algo.frames))
284