mingyuan commited on
Commit
19bda5d
1 Parent(s): 3729ae0

change_loading_options

Browse files
Files changed (2) hide show
  1. app.py +41 -7
  2. mogen/models/utils/imagebind_wrapper.py +4 -4
app.py CHANGED
@@ -35,7 +35,19 @@ from mogen.datasets.paramUtil import (
35
  from mogen.datasets.utils import recover_from_ric
36
  from mogen.datasets.pipelines import RetargetSkeleton
37
 
38
-
 
 
 
 
 
 
 
 
 
 
 
 
39
  def motion_temporal_filter(motion, sigma=1):
40
  motion = motion.reshape(motion.shape[0], -1)
41
  for i in range(motion.shape[1]):
@@ -57,7 +69,7 @@ def plot_tomato(data, kinematic_chain, result_path, npy_path, fps, sigma=None):
57
 
58
  def create_lmm():
59
  config_path = "configs/lmm/lmm_small_demo.py"
60
- ckpt_path = "data/motionverse/pretrained/lmm_small_demo.pth"
61
  cfg = mmcv.Config.fromfile(config_path)
62
  model = build_architecture(cfg.model)
63
  load_checkpoint(model, ckpt_path, map_location='cpu')
@@ -70,15 +82,37 @@ def create_lmm():
70
 
71
  # device = 'cpu'
72
  device = 'cuda'
73
- # os.environ["NO_PROXY"] = os.environ["no_proxy"] = "localhost, 127.0.0.1:7860"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  model_lmm = create_lmm()
75
- model_imagebind = imagebind_huge(pretrained=True)
76
  model_imagebind.eval()
77
  model_imagebind.to(device)
78
- rtg_skl = RetargetSkeleton(tgt_skel_file='data/motionverse/statistics/skeleton.npy')
79
 
80
- mean_path = "data/motionverse/statistics/mean.npy"
81
- std_path = "data/motionverse/statistics/std.npy"
82
  mean = np.load(mean_path)
83
  std = np.load(std_path)
84
 
 
35
  from mogen.datasets.utils import recover_from_ric
36
  from mogen.datasets.pipelines import RetargetSkeleton
37
 
38
+ import requests
39
+
40
+ def load_large_files(relative_path):
41
+ # URL to file in the Hugging Face Hub
42
+ url = "https://huggingface.co/mingyuan/data_hf/" + relative_path
43
+ # Temporary download in Space
44
+ file_path = "/tmp/" + relative_path.split('/')[-1]
45
+
46
+ response = requests.get(url)
47
+ with open(file_path, "wb") as f:
48
+ f.write(response.content)
49
+ return file_path
50
+
51
  def motion_temporal_filter(motion, sigma=1):
52
  motion = motion.reshape(motion.shape[0], -1)
53
  for i in range(motion.shape[1]):
 
69
 
70
  def create_lmm():
71
  config_path = "configs/lmm/lmm_small_demo.py"
72
+ ckpt_path = load_file_list["lmm"]
73
  cfg = mmcv.Config.fromfile(config_path)
74
  model = build_architecture(cfg.model)
75
  load_checkpoint(model, ckpt_path, map_location='cpu')
 
82
 
83
  # device = 'cpu'
84
  device = 'cuda'
85
+ type = "hf"
86
+
87
+ if type == "local":
88
+ load_file_list = {
89
+ "mean": "../data_hf/data/motionverse/statistics/mean.npy",
90
+ "std": "../data_hf/data/motionverse/statistics/std.npy",
91
+ "skeleton": "../data_hf/data/motionverse/statistics/skeleton.npy",
92
+ "lmm": "../data_hf/data/motionverse/pretrained/lmm_small_demo.pth",
93
+ "imagebind": "../data_hf/data/motionverse/pretrained/imagebind_huge.pth"
94
+ }
95
+ os.environ["NO_PROXY"] = os.environ["no_proxy"] = "localhost, 127.0.0.1:7860"
96
+ else:
97
+ src_file_list = {
98
+ "mean": "data/motionverse/statistics/mean.npy",
99
+ "std": "data/motionverse/statistics/std.npy",
100
+ "skeleton": "data/motionverse/statistics/skeleton.npy",
101
+ "lmm": "data/motionverse/pretrained/lmm_small_demo.pth",
102
+ "imagebind": "data/motionverse/pretrained/imagebind_huge.pth"
103
+ }
104
+ load_file_list = {}
105
+ for key in src_file_list.keys():
106
+ load_file_list[key] = load_large_files(src_file_list[key])
107
+
108
  model_lmm = create_lmm()
109
+ model_imagebind = imagebind_huge(pretrained=True, ckpt_path=load_file_list["imagebind"])
110
  model_imagebind.eval()
111
  model_imagebind.to(device)
112
+ rtg_skl = RetargetSkeleton(tgt_skel_file=load_file_list["skeleton"])
113
 
114
+ mean_path = load_file_list["mean"]
115
+ std_path = load_file_list["std"]
116
  mean = np.load(mean_path)
117
  std = np.load(std_path)
118
 
mogen/models/utils/imagebind_wrapper.py CHANGED
@@ -42,7 +42,7 @@ class FeatureExtractor(imagebind_model.ImageBindModel):
42
  return word_feat, seq_feat
43
 
44
 
45
- def imagebind_huge(pretrained=False):
46
  model = FeatureExtractor(
47
  vision_embed_dim=1280,
48
  vision_num_blocks=32,
@@ -56,9 +56,9 @@ def imagebind_huge(pretrained=False):
56
  )
57
 
58
  if pretrained:
59
- file_path = os.path.abspath(os.path.dirname(__file__))
60
- ckpt_dir = os.path.join(file_path, '../../../data/motionverse/pretrained')
61
- ckpt_path = os.path.join(ckpt_dir, 'imagebind_huge.pth')
62
  if not os.path.exists(ckpt_path):
63
  print(
64
  "Downloading imagebind weights to motionverse/pretrained/imagebind_huge.pth ..."
 
42
  return word_feat, seq_feat
43
 
44
 
45
+ def imagebind_huge(pretrained=False, ckpt_path=None):
46
  model = FeatureExtractor(
47
  vision_embed_dim=1280,
48
  vision_num_blocks=32,
 
56
  )
57
 
58
  if pretrained:
59
+ # file_path = os.path.abspath(os.path.dirname(__file__))
60
+ # ckpt_dir = os.path.join(file_path, '../../../data/motionverse/pretrained')
61
+ # ckpt_path = os.path.join(ckpt_dir, 'imagebind_huge.pth')
62
  if not os.path.exists(ckpt_path):
63
  print(
64
  "Downloading imagebind weights to motionverse/pretrained/imagebind_huge.pth ..."