TrajectoryCrafter commited on
Commit
3fc9d60
Β·
1 Parent(s): 460fe75
app.py CHANGED
@@ -11,33 +11,30 @@ from datetime import datetime
11
  import argparse
12
  from huggingface_hub import snapshot_download
13
 
14
- # θ§£ζžε‘½δ»€θ‘Œε‚ζ•°
 
 
 
 
 
 
 
15
 
16
  traj_examples = [
17
  ['20; -30; 0.3; 0; 0'],
18
  ['0; 0; -0.3; -2; 2'],
19
  ]
20
 
21
- # inputs=[i2v_input_video, i2v_stride, i2v_center_scale, i2v_pose, i2v_steps, i2v_seed],
22
-
23
- img_examples = [
24
- ['test/videos/0-NNvgaTcVzAG0-r.mp4',2,1,'0; -30; 0.5; -2; 0',50,43],
25
- ['test/videos/tUfDESZsQFhdDW9S.mp4',2,1,'0; 30; -0.4; 2; 0',50,43],
26
- ['test/videos/part-2-3.mp4',2,1,'20; 40; 0.5; 2; 0',50,43],
27
- ['test/videos/p7.mp4',2,1,'0; -50; 0.3; 0; 0',50,43],
28
- ['test/videos/UST-fn-RvhJwMR5S.mp4',2,1,'0; -35; 0.4; 0; 0',50,43],
29
- ]
30
-
31
  max_seed = 2 ** 31
32
 
33
  os.makedirs('./checkpoints/',exist_ok=True)
34
- def download_model():
35
- snapshot_download(repo_id="TrajectoryCrafter/TrajectoryCrafter", local_dir="checkpoints/TrajectoryCrafter", local_dir_use_symlinks=False)
36
- snapshot_download(repo_id="tencent/DepthCrafter", local_dir="checkpoints/DepthCrafter", local_dir_use_symlinks=False)
37
- snapshot_download(repo_id="stabilityai/stable-video-diffusion-img2vid", local_dir="checkpoints/stable-video-diffusion-img2vid", local_dir_use_symlinks=False)
38
- snapshot_download(repo_id="alibaba-pai/CogVideoX-Fun-V1.1-5b-InP", local_dir="checkpoints/CogVideoX-Fun-V1.1-5b-InP", local_dir_use_symlinks=False)
39
- snapshot_download(repo_id="Salesforce/blip2-opt-2.7b", local_dir="checkpoints/blip2-opt-2.7b", local_dir_use_symlinks=False)
40
- download_model() #fixme
41
 
42
  parser = get_parser() # infer_config.py
43
  opts = parser.parse_args() # default device: 'cuda:0'
@@ -48,8 +45,6 @@ os.makedirs(opts.save_dir,exist_ok=True)
48
  test_tensor = torch.Tensor([0]).cuda()
49
  opts.device = str(test_tensor.device)
50
 
51
-
52
-
53
  CAMERA_MOTION_MODE = ["Basic Camera Trajectory", "Custom Camera Trajectory"]
54
 
55
  def show_traj(mode):
@@ -97,7 +92,7 @@ def trajcrafter_demo(opts):
97
  }
98
  """
99
  image2video = TrajCrafter(opts,gradio=True)
100
- image2video.run_gradio = spaces.GPU(image2video.run_gradio, duration=300) # fixme
101
  with gr.Blocks(analytics_enabled=False, css=css) as trajcrafter_iface:
102
  gr.Markdown("""
103
  <div align='center'>
@@ -128,7 +123,7 @@ def trajcrafter_demo(opts):
128
  i2v_center_scale = gr.Slider(minimum=0.1, maximum=2, step=0.1, elem_id="i2v_center_scale",
129
  label="center_scale", value=1)
130
  i2v_steps = gr.Slider(minimum=1, maximum=50, step=1, elem_id="i2v_steps", label="Sampling steps",
131
- value=50)
132
  i2v_seed = gr.Slider(label='Random seed', minimum=0, maximum=max_seed, step=1, value=43)
133
  with gr.Row():
134
  pan_left = gr.Button(value="Pan Left")
@@ -283,11 +278,14 @@ def trajcrafter_demo(opts):
283
  )
284
 
285
 
286
- gr.Examples(examples=img_examples,
287
  # inputs=[i2v_input_video,i2v_stride],
288
  inputs=[i2v_input_video, i2v_stride, i2v_center_scale, i2v_pose, i2v_steps, i2v_seed],
289
- )
290
-
 
 
 
291
  return trajcrafter_iface
292
 
293
 
 
11
  import argparse
12
  from huggingface_hub import snapshot_download
13
 
14
+
15
+ examples = [
16
+ ['examples/example_01.mp4',2,1,'0; -30; 0.5; -2; 0',30,43],
17
+ ['examples/example_02.mp4',2,1,'0; 30; -0.4; 2; 0',30,43],
18
+ ['examples/example_03.mp4',2,1,'20; 40; 0.5; 2; 0',30,43],
19
+ ['examples/example_04.mp4',2,1,'0; -50; 0.3; 0; 0',30,43],
20
+ ['examples/example_05.mp4',2,1,'0; -35; 0.4; 0; 0',30,43],
21
+ ]
22
 
23
  traj_examples = [
24
  ['20; -30; 0.3; 0; 0'],
25
  ['0; 0; -0.3; -2; 2'],
26
  ]
27
 
 
 
 
 
 
 
 
 
 
 
28
  max_seed = 2 ** 31
29
 
30
  os.makedirs('./checkpoints/',exist_ok=True)
31
+ # def download_model():
32
+ # snapshot_download(repo_id="TrajectoryCrafter/TrajectoryCrafter", local_dir="checkpoints/TrajectoryCrafter", local_dir_use_symlinks=False)
33
+ # snapshot_download(repo_id="tencent/DepthCrafter", local_dir="checkpoints/DepthCrafter", local_dir_use_symlinks=False)
34
+ # snapshot_download(repo_id="stabilityai/stable-video-diffusion-img2vid", local_dir="checkpoints/stable-video-diffusion-img2vid", local_dir_use_symlinks=False)
35
+ # snapshot_download(repo_id="alibaba-pai/CogVideoX-Fun-V1.1-5b-InP", local_dir="checkpoints/CogVideoX-Fun-V1.1-5b-InP", local_dir_use_symlinks=False)
36
+ # snapshot_download(repo_id="Salesforce/blip2-opt-2.7b", local_dir="checkpoints/blip2-opt-2.7b", local_dir_use_symlinks=False)
37
+ # download_model() #fixme
38
 
39
  parser = get_parser() # infer_config.py
40
  opts = parser.parse_args() # default device: 'cuda:0'
 
45
  test_tensor = torch.Tensor([0]).cuda()
46
  opts.device = str(test_tensor.device)
47
 
 
 
48
  CAMERA_MOTION_MODE = ["Basic Camera Trajectory", "Custom Camera Trajectory"]
49
 
50
  def show_traj(mode):
 
92
  }
93
  """
94
  image2video = TrajCrafter(opts,gradio=True)
95
+ image2video.run_gradio = spaces.GPU(image2video.run_gradio, duration=290) # fixme
96
  with gr.Blocks(analytics_enabled=False, css=css) as trajcrafter_iface:
97
  gr.Markdown("""
98
  <div align='center'>
 
123
  i2v_center_scale = gr.Slider(minimum=0.1, maximum=2, step=0.1, elem_id="i2v_center_scale",
124
  label="center_scale", value=1)
125
  i2v_steps = gr.Slider(minimum=1, maximum=50, step=1, elem_id="i2v_steps", label="Sampling steps",
126
+ value=30)
127
  i2v_seed = gr.Slider(label='Random seed', minimum=0, maximum=max_seed, step=1, value=43)
128
  with gr.Row():
129
  pan_left = gr.Button(value="Pan Left")
 
278
  )
279
 
280
 
281
+ gr.Examples(examples=examples,
282
  # inputs=[i2v_input_video,i2v_stride],
283
  inputs=[i2v_input_video, i2v_stride, i2v_center_scale, i2v_pose, i2v_steps, i2v_seed],
284
+ outputs=[i2v_output_video],
285
+ fn = image2video.run_gradio,
286
+ cache_examples="lazy",
287
+ )
288
+
289
  return trajcrafter_iface
290
 
291
 
test/videos/0-NNvgaTcVzAG0-r.mp4 β†’ examples/example_01.mp4 RENAMED
File without changes
test/videos/tUfDESZsQFhdDW9S.mp4 β†’ examples/example_02.mp4 RENAMED
File without changes
test/videos/part-2-3.mp4 β†’ examples/example_03.mp4 RENAMED
File without changes
test/videos/p7.mp4 β†’ examples/example_04.mp4 RENAMED
File without changes
test/videos/UST-fn-RvhJwMR5S.mp4 β†’ examples/example_05.mp4 RENAMED
File without changes
test/trajs/loop1.txt DELETED
@@ -1,3 +0,0 @@
1
- 0 2 10 15 12 6 0 -2 -5 -12 -8 -3 0
2
- 0 -3 -10 -20 -30 -25 -17 -10 0
3
- 0 0.02 0.09 0.16 0.25 0.2 0.09 0
 
 
 
 
test/trajs/loop2.txt DELETED
@@ -1,3 +0,0 @@
1
- 0 2 10 15 12 6 0 -2 -5 -12 -8 -3 0
2
- 0 3 10 20 30 25 17 10 0
3
- 0 0.02 0.09 0.16 0.25 0.28 0.19 0.09 0