SkinTokens-bf16 / config.json
xocialize's picture
SkinTokens Swift-MLX auto-rigger (bf16 tokenrig + f32 skinvae + vroid template + config)
9c6d710 verified
Raw
History Blame Contribute Delete
7.38 kB
{
"model_type": "skintokens",
"format": "swift-mlx",
"note": "Custom multi-component auto-rigging pipeline \u2014 NOT loadable by mlx_lm/mlx_vlm/mlx_audio. Consumed by the mlx-skintokens-swift package (MLXEngine `meshRig` capability).",
"tokenrig": {
"model_config": {
"hidden_size": 768,
"vae_decoder_dim": 768,
"tokens_per_skin": 4,
"tokens_skin_cond": 384,
"use_rope": true,
"encode_repeat": 32,
"skin_warmup_start_epoch": -2,
"skin_warmup_end_epoch": -1,
"mesh_encoder_layers": 8,
"mesh_encoder_attention_heads": 8,
"mesh_encoder_dim": 768,
"init_scale": 0.25,
"pretrained_vae": "experiments/skin_vae_2_10_32768/last.ckpt",
"mesh_encoder": {
"__target__": "michelangelo_encoder",
"freeze_encoder": false,
"device": "cpu",
"dtype": "float32",
"num_latents": 256,
"embed_dim": 64,
"point_feats": 3,
"num_freqs": 8,
"include_pi": false,
"heads": 8,
"width": 512,
"num_encoder_layers": 8,
"use_ln_post": true,
"init_scale": 0.25,
"qkv_bias": false,
"use_checkpoint": false,
"flash": true,
"supervision_type": "occupancy",
"query_method": false,
"token_num": 512
},
"llm": {
"pretrained_model_name_or_path": "Qwen/Qwen3-0.6B",
"n_positions": 3192,
"max_position_embeddings": 3192,
"hidden_size": 896,
"word_embed_proj_dim": 896,
"do_layer_norm_before": true
}
},
"tokenizer_config": {
"__target__": "tokenizer_part",
"num_discrete": 256,
"continuous_range": [
-1,
1
],
"cls_token_id": {
"rignet": 0,
"vroid": 1,
"articulation": 2
},
"parts_token_id": {
"body": 0,
"hand": 1
},
"order_config": {
"skeleton_path": {
"vroid": "./configs/skeleton/vroid.yaml",
"mixamo": "./configs/skeleton/mixamo.yaml"
}
}
},
"transform_config": {
"random_pose_angle": 45.0,
"order": {
"skeleton_path": {
"vroid": "./configs/skeleton/vroid.yaml",
"mixamo": "./configs/skeleton/mixamo.yaml"
}
},
"vertex_group": [
{
"__target__": "skin"
}
],
"train_transform": {
"augments": [
{
"__target__": "trim"
},
{
"__target__": "collapse",
"max_bones": 196
},
{
"__target__": "delete",
"p": 0.2,
"rate": 0.2
},
{
"__target__": "drop_part",
"p": 0.5,
"rate": 0.5
},
{
"__target__": "lbs",
"random_pose_p": 0.5,
"random_pose_angle": 45.0,
"random_scale_range": [
0.5,
1.7
]
},
{
"__target__": "linear",
"random_rotate_p": 0.5,
"random_rotate_angle": 90.0,
"random_flip_x_p": 0.0,
"random_flip_y_p": 0.0,
"random_flip_z_p": 0.0,
"random_scale_p": 0.5,
"random_scale": [
0.3,
1.0
]
},
{
"__target__": "affine",
"normalize_into": [
-1.0,
1.0
],
"random_scale_p": 0.75,
"random_scale": [
0.5,
1.0
],
"random_shift_p": 1.0,
"random_shift": [
-1.0,
1.0
]
},
{
"__target__": "jitter",
"p": 0.5,
"vertex_sigma": 0.001,
"vertex_clip": 0.001,
"normal_sigma": 0.01,
"normal_clip": 0.01
},
{
"__target__": "normalize"
}
],
"order": {
"skeleton_path": {
"vroid": "./configs/skeleton/vroid.yaml",
"mixamo": "./configs/skeleton/mixamo.yaml"
}
},
"vertex_groups": [
{
"__target__": "skin"
}
],
"sampler": {
"__target__": "mix",
"num_samples": 54000,
"num_vertex_samples": 16384,
"num_skin_samples": 32768,
"all_skeleton": true,
"max_distance": 0.1,
"rate_distance": 0.1
}
},
"validate_transform": {
"augments": [
{
"__target__": "trim"
},
{
"__target__": "affine",
"normalize_into": [
-1.0,
1.0
]
},
{
"__target__": "normalize"
}
],
"order": {
"skeleton_path": {
"vroid": "./configs/skeleton/vroid.yaml",
"mixamo": "./configs/skeleton/mixamo.yaml"
}
},
"vertex_groups": [
{
"__target__": "skin"
}
],
"sampler": {
"__target__": "mix",
"num_samples": 54000,
"num_vertex_samples": 16384,
"num_skin_samples": 32768,
"all_skeleton": true,
"max_distance": 0.1,
"rate_distance": 0.1
}
},
"predict_transform": {
"augments": [
{
"__target__": "trim"
},
{
"__target__": "affine",
"normalize_into": [
-1.0,
1.0
]
},
{
"__target__": "normalize"
}
],
"order": {
"skeleton_path": {
"vroid": "./configs/skeleton/vroid.yaml",
"mixamo": "./configs/skeleton/mixamo.yaml"
}
},
"sampler": {
"__target__": "mix",
"num_samples": 54000,
"num_vertex_samples": 16384
}
}
},
"generate_kwargs": {
"max_new_tokens": 2040,
"num_return_sequences": 1,
"num_beams": 10,
"do_sample": true,
"top_k": 10,
"top_p": 0.95,
"repetition_penalty": 2.0,
"temperature": 1.5
}
},
"skinvae": {
"model_config": {
"model": {
"in_channels": 4,
"cond_channels": 3,
"latent_channels": 512,
"num_attention_heads": 12,
"width_encoder": 768,
"width_decoder": 768,
"num_layers_encoder": 2,
"num_layers_decoder": 10,
"embedding_type": "frequency",
"embed_frequency": 8,
"embed_include_pi": true,
"is_learned_queries": true,
"use_pmpe": true,
"FSQ_dict": {
"levels": [
8,
8,
8,
8,
8
],
"dim": 512
}
},
"sample": {
"cond_tokens": 384,
"sample_tokens": 32,
"compress_tokens": 32
}
}
},
"vocab": {
"tokenizer": 267,
"fsq_codebook": 32768,
"lm_total": 33036,
"fsq_levels": [
8,
8,
8,
8,
8
]
},
"precision": {
"tokenrig": "bf16",
"skinvae": "f32"
}
}