PartVAE overlap 128 20260614

This model repo contains the trained weights, exact configs, logs, and reproducibility metadata for the Part-Aware Continuous VAE trained on the HumanML3D/T2M setup on 2026-06-14.

Code lives in a separate public GitHub repository:

https://github.com/CHDTevior/part-aware-partvae

The exported code commit used for this package is:

2f1f6d5e65ca0de6e3fd285c8e43a75ddd56f77d

Files

checkpoints/net_best_fid.pth        # best validation reconstruction FID
checkpoints/net_best_div.pth        # best diversity selector
checkpoints/net_best_top1.pth       # best R@1 selector
checkpoints/net_best_top3.pth       # best R@3 selector
checkpoints/net_best_matching.pth   # best matching-score selector
checkpoints/net_last.pth            # last network-only checkpoint
checkpoints/train_state_latest.pth  # full resume state
checkpoints/config.json             # config copied next to weights
checkpoints/skeleton_partition.json # exact overlap partition copied next to weights
configs/config.json                 # full training config
configs/train_config.json           # duplicate explicit training config
configs/skeleton_partition.json     # exact overlap partition
configs/source.txt                  # source GitHub/HF pointers
code/                               # minimal code snapshot for loading/reproduction
logs/run.log                        # full training log
logs/events.out.tfevents.*          # TensorBoard event file
manifest.sha256                     # SHA256 manifest

Training Setup

dataname=t2m
partition_file=partition_analysis/skeleton_partition.json
latent_dim=128
encoder_emb_width=128
batch_size=256
lr=2e-4
total_iter=450000
warm_up_iter=1000
lr_scheduler=[300000]
down_t=2
stride_t=2
width=512
depth=3
dilation_growth_rate=3
loss_vel=0.5
recons_loss=l1_smooth
kl_weight=0.005
kl_anneal_iter=10000
eval_iter=5000
save_iter=5000
seed=123

The final saved training state is at global iteration 451000. The configured target was total_iter=450000; the extra 1000 iterations come from the script's final evaluation/save boundary.

Validation Metrics

These are training-time reconstruction metrics on the HumanML3D validation protocol, not a multi-seed text-generation benchmark.

selector iter FID Diversity R@1 R@2 R@3 Matching
best_fid 106000 0.0160 9.4856 0.5100 0.6935 0.7979 2.9188
best_top1 156000 0.0342 9.7961 0.5306 0.7048 0.8005 2.9322
best_top3 161000 0.0374 9.5267 0.5266 0.7207 0.8285 2.8861
best_matching 96000 0.0328 9.5960 0.5186 0.7221 0.8145 2.8536
final/last 451000 0.0989 9.3390 0.5126 0.6782 0.7846 3.0360

Loading

Install the code from the GitHub repo or use the code/ snapshot in this model package. Keep the partition JSON path bound to the checkpoint config.

import json
from types import SimpleNamespace

import torch

from models.PartVAE import HumanPartVAE

with open("configs/config.json", "r", encoding="utf-8") as f:
    cfg = json.load(f)

args = SimpleNamespace(**cfg)
args.partition_file = "configs/skeleton_partition.json"

model = HumanPartVAE(
    args,
    latent_dim=cfg["latent_dim"],
    encoder_emb_width=cfg["encoder_emb_width"],
    down_t=cfg["down_t"],
    stride_t=cfg["stride_t"],
    width=cfg["width"],
    depth=cfg["depth"],
    dilation_growth_rate=cfg["dilation_growth_rate"],
    activation=cfg["vae_act"],
    norm=cfg["vae_norm"],
    kl_reduction=cfg["kl_reduction"],
)

ckpt = torch.load("checkpoints/net_best_fid.pth", map_location="cpu", weights_only=False)
state_dict = ckpt["net"] if isinstance(ckpt, dict) and "net" in ckpt else ckpt
model.load_state_dict(state_dict, strict=True)
model.eval()

Use net_best_fid.pth for reconstruction-FID comparisons unless another selector is explicitly required. Use train_state_latest.pth only for resuming training.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support