MCPcopy
hub / github.com/OpenMotionLab/MotionGPT / __init__

Method __init__

mGPT/data/HumanML3D.py:12–77  ·  view source on GitHub ↗
(self, cfg, **kwargs)

Source from the content-addressed store, hash-verified

10
11class HumanML3DDataModule(BASEDataModule):
12 def __init__(self, cfg, **kwargs):
13
14 super().__init__(collate_fn=humanml3d_collate)
15 self.cfg = cfg
16 self.save_hyperparameters(logger=False)
17
18 # Basic info of the dataset
19 cfg.DATASET.JOINT_TYPE = 'humanml3d'
20 self.name = "humanml3d"
21 self.njoints = 22
22
23 # Path to the dataset
24 data_root = cfg.DATASET.HUMANML3D.ROOT
25 self.hparams.data_root = data_root
26 self.hparams.text_dir = pjoin(data_root, "texts")
27 self.hparams.motion_dir = pjoin(data_root, 'new_joint_vecs')
28
29 # Mean and std of the dataset
30 dis_data_root = pjoin(cfg.DATASET.HUMANML3D.MEAN_STD_PATH, 't2m', "VQVAEV3_CB1024_CMT_H1024_NRES3", "meta")
31 self.hparams.mean = np.load(pjoin(dis_data_root, "mean.npy"))
32 self.hparams.std = np.load(pjoin(dis_data_root, "std.npy"))
33
34 # Mean and std for fair evaluation
35 dis_data_root_eval = pjoin(cfg.DATASET.HUMANML3D.MEAN_STD_PATH, 't2m', "Comp_v6_KLD01", "meta")
36 self.hparams.mean_eval = np.load(pjoin(dis_data_root_eval, "mean.npy"))
37 self.hparams.std_eval = np.load(pjoin(dis_data_root_eval, "std.npy"))
38
39 # Length of the dataset
40 self.hparams.max_motion_length = cfg.DATASET.HUMANML3D.MAX_MOTION_LEN
41 self.hparams.min_motion_length = cfg.DATASET.HUMANML3D.MIN_MOTION_LEN
42 self.hparams.max_text_len = cfg.DATASET.HUMANML3D.MAX_TEXT_LEN
43 self.hparams.unit_length = cfg.DATASET.HUMANML3D.UNIT_LEN
44
45 # Additional parameters
46 self.hparams.debug = cfg.DEBUG
47 self.hparams.stage = cfg.TRAIN.STAGE
48 self.hparams.w_vectorizer = WordVectorizer(
49 cfg.DATASET.WORD_VERTILIZER_PATH, "our_vab")
50
51 # Dataset switch
52 self.DatasetEval = Text2MotionDatasetEval
53
54 if cfg.TRAIN.STAGE == "vae":
55 if cfg.model.params.motion_vae.target.split('.')[-1].lower() == "vqvae":
56 self.hparams.win_size = 64
57 self.Dataset = MotionDatasetVQ
58 else:
59 self.Dataset = MotionDataset
60 elif 'lm' in cfg.TRAIN.STAGE:
61 self.hparams.code_path = cfg.DATASET.CODE_PATH
62 self.hparams.task_path = cfg.DATASET.TASK_PATH
63 self.hparams.std_text = cfg.DATASET.HUMANML3D.STD_TEXT
64 self.Dataset = Text2MotionDatasetCB
65 elif cfg.TRAIN.STAGE == "token":
66 self.Dataset = Text2MotionDatasetToken
67 self.DatasetEval = Text2MotionDatasetToken
68 elif cfg.TRAIN.STAGE == "m2t":
69 self.Dataset = Text2MotionDatasetM2T

Callers

nothing calls this directly

Calls 2

WordVectorizerClass · 0.85
get_sample_setMethod · 0.80

Tested by

no test coverage detected