File size: 2,538 Bytes
f81612c c459035 f81612c c459035 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | ---
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}
}
```
|