xocialize's picture
Upload README.md with huggingface_hub
9870c2e verified
|
Raw
History Blame Contribute Delete
1.72 kB
---
license: apache-2.0
library_name: mlx
tags:
- mlx
- face-restoration
- image-restoration
- vqgan
- restoreformer
base_model: wzhouxiff/RestoreFormerPlusPlus
---
# RestoreFormerPlusPlus-fp32 (MLX)
[RestoreFormer++](https://github.com/wzhouxiff/RestoreFormerPlusPlus) (TPAMI 2023) blind
face restoration converted to MLX NHWC safetensors for Apple Silicon. 73,472,579
parameters (441 tensors), fp32.
- **Architecture:** `VQVAEGANMultiHeadTransformer` — VQ-GAN encoder/decoder over a
1024×256 ROHQD codebook, multi-scale multi-head cross-attention (enc attn @16, dec
@[16, 32]). 512×512 aligned face crops, RGB in [-1, 1]. Fully deterministic.
- **Source:** the author's official `RestoreFormer++.ckpt` (v1.0.0 GitHub release);
`vqvae.*` state re-exported through the instantiated architecture.
- **Layout:** MLX NHWC. Conv `(O,kH,kW,I)`; GroupNorm vectors, biases, and the codebook
embedding pass through. Keys mirror the upstream state dict (prefix stripped).
- **dtype:** fp32. Measured alternatives: fp16 50.1 dB vs the fp32 golden (viable), bf16
38.6 dB (mantissa-bound — fp16 beats bf16 here). Late-decoder activations reach ±14k.
## License
Apache-2.0 — upstream is plain Apache-2.0 with no third-party carve-outs. Trained on FFHQ
(dataset compilation CC-BY-NC-SA — the standard unsettled dataset-to-weights question).
## Consume
Swift (Apple Silicon): `mlx-restoreformer-swift` —
`RestoreFormerMLXCore.RestoreFormer` + `MLXRestoreFormer.RestoreFormerRestorePackage`
(MLXEngine `imageRestore`, Vision-based detect/align/paste).
Parity vs the PyTorch reference: key contract 441/441 tensors; per-stage taps 40/40
≤ 5e-4 relative (fp32, CPU stream); codebook indices 256/256 exact.