Hunyuan3D 2.1 β OpenVINO IR Models
OpenVINO IR format conversion of Hunyuan3D 2.1 components for optimized inference on Intel CPUs and GPUs.
What is OpenVINO?
OpenVINO (Open Visual Inference and Neural network Optimization) is Intel's open-source toolkit for optimizing and deploying AI models. It dramatically speeds up inference on Intel hardware (CPU, iGPU, Arc GPU, NPU) compared to vanilla PyTorch.
Why convert to OpenVINO?
| Benefit | Detail |
|---|---|
| CPU speedup | 2-5x faster inference on Intel CPUs vs PyTorch |
| iGPU acceleration | Run on Intel integrated GPUs (no dedicated GPU needed) |
| Arc GPU support | Optimized for Intel Arc discrete GPUs (A770, A750, etc.) |
| Lower memory | FP16/INT8 quantization reduces VRAM usage significantly |
| No CUDA dependency | Deploy anywhere β no NVIDIA GPU or CUDA toolkit required |
| Smaller models | FP16 weights are ~50% smaller than FP32 PyTorch checkpoints |
Conversion Details
| Parameter | Value |
|---|---|
| Tool | openvino.convert_model() via ONNX intermediate |
| ONNX opset | 18 |
| Precision | FP16 (default for OpenVINO IR) |
| Source weights | dgrauet/hunyuan3d-2.1-mlx |
| Framework | PyTorch β ONNX β OpenVINO IR |
Conversion workflow
- Load safetensors weights into pure PyTorch modules
- Export to ONNX (opset 18) via
torch.onnx.export() - Convert ONNX to OpenVINO IR via
ov.convert_model() - Save as
.xml(graph) +.bin(weights) pair
This ONNX intermediate step is required because ov.convert_model() on large transformers can hang on CPU-only systems. GPU-accelerated ONNX export + OV conversion completes in minutes.
Components
| Component | Description | Size |
|---|---|---|
clip_vit |
CLIP ViT-L/14 text+image encoder | ~580 MB |
dinov2_giant |
DINOv2-Giant image encoder (painting) | ~2170 MB |
image_encoder |
DINOv2-Large image encoder (shape) | ~490 MB |
paint_vae_encoder |
Paint VAE encoder | ~65 MB |
paint_vae_decoder |
Paint VAE decoder | ~95 MB |
shape_vae_decoder |
Shape VAE decoder (16-block transformer) | ~385 MB |
dit |
DiT shape denoiser (21 double-stream blocks) | ~4050 MB |
paint_unet |
Paint UNet (SD-style, 12ch in / 4ch out) | ~1650 MB |
Usage (Python)
import openvino as ov
core = ov.Core()
model = core.read_model("dit.xml")
compiled = core.compile_model(model, "GPU") # or "CPU"
# Run inference
infer_request = compiled.create_infer_request()
infer_request.infer({"x": latent, "t": timestep, "context": text_emb})
output = infer_request.get_output_tensor(0).data
Target Hardware
- Intel Arc A750 (8GB VRAM) β primary target
- Intel iGPU β UHD 630/Iris Xe (reduced resolution)
- Intel CPU β Core i5/i7/i9 (slower but functional)
License
Same as original Hunyuan3D 2.1 β see LICENSE.
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support