| --- |
| license: mit |
| tags: |
| - pytorch |
| - safetensors |
| - 3d |
| - rigging |
| - animation |
| - skeleton |
| - skinning |
| base_model: VAST-AI/UniRig |
| --- |
| |
| # UniRig Models (Safetensors) |
|
|
| This repository contains the UniRig model weights converted to safetensors format for safer and faster loading. |
|
|
| ## Attribution |
|
|
| These models are converted from the original [VAST-AI/UniRig](https://huggingface.co/VAST-AI/UniRig) repository by [VAST-AI-Research](https://github.com/VAST-AI-Research). |
|
|
| **Original Work:** |
| - **Paper:** [UniRig: A Unified Framework for 3D Character Rigging](https://arxiv.org/abs/2405.02986) |
| - **GitHub:** [VAST-AI-Research/UniRig](https://github.com/VAST-AI-Research/UniRig) |
| - **Authors:** VAST AI Research Team |
|
|
| All credit for the model architecture and training goes to the original authors. |
|
|
| ## Models |
|
|
| | Model | Description | Size | |
| |-------|-------------|------| |
| | `skeleton.safetensors` | Skeleton prediction model (articulation-xl_quantization_256) | ~1.4 GB | |
| | `skin.safetensors` | Skinning weights model (articulation-xl) | ~4.1 GB | |
|
|
| ## Why Safetensors? |
|
|
| - **Safer**: No arbitrary code execution risk (no pickle) |
| - **Faster**: Memory-mapped loading for quick startup |
| - **Portable**: Standard format supported across frameworks |
|
|
| ## Usage |
|
|
| ### Loading with safetensors |
|
|
| ```python |
| from safetensors.torch import load_file |
| |
| # Load skeleton model |
| skeleton_weights = load_file("skeleton.safetensors") |
| |
| # Load skin model |
| skin_weights = load_file("skin.safetensors") |
| ``` |
|
|
| ### Using with UniRig |
|
|
| These weights are compatible with the original UniRig codebase. Replace the `.ckpt` loading code: |
|
|
| ```python |
| # Original (ckpt) |
| # checkpoint = torch.load("model.ckpt") |
| # state_dict = checkpoint['state_dict'] |
| |
| # With safetensors |
| from safetensors.torch import load_file |
| state_dict = load_file("model.safetensors") |
| ``` |
|
|
| ## Conversion Details |
|
|
| Converted using the following process: |
|
|
| ```python |
| import torch |
| from safetensors.torch import save_file |
| |
| checkpoint = torch.load("model.ckpt", map_location='cpu', weights_only=False) |
| state_dict = checkpoint['state_dict'] |
| save_file(state_dict, "model.safetensors") |
| ``` |
|
|
| The conversion preserves all tensor values, shapes, and dtypes exactly. |
|
|
| ## License |
|
|
| This work is licensed under the MIT License, following the original UniRig license. |
|
|
| ## Citation |
|
|
| If you use these models, please cite the original work: |
|
|
| ```bibtex |
| @article{unirig2024, |
| title={UniRig: A Unified Framework for 3D Character Rigging}, |
| author={VAST AI Research}, |
| journal={arXiv preprint arXiv:2405.02986}, |
| year={2024} |
| } |
| ``` |
|
|