### For simplity, this repo disable the DDP, as the training could be down on single RTX3090 within an hour.

# Before running this code, change the dataset directory at dataset/get_data.py.
# GIMO and CYCLE shares similar data representation.

### Data architecture:
# root
#   --train
#       --new_joint_vecs.pth                Motion vector
#       --joints.pth                        22-joints skeleton
#       --scene_heightmap.pkl               Scene heightMap
#       --scene_heightmap_base.pth          Scene heightMap X-Z offset
#       --scene_points.pth                  Scene point cloud
#       --scene_feats.pth                   Scene feature from the bottleneck of SoftGroup
#       --scene_obj.pkl                     Segmented objects
#       --recover.pkl                       Reconstruction vector
#   --test
#       --[SAME AS --train]

# Then place the checkpoint of InterestNet and the HOI-Estimator, according to args.interest_net and args.estimator

# Training the motion diffusor of DiMoP3D, simply run:
python train.py

# Generate samples/meshes with the pre-trained DiMoP3D checkpoint:
python generate.py

# After running generate.py, you will get xxx.obj, which can be visualized in MeshLab or Blender, along with the scene.

