File size: 3,581 Bytes
0fa0831
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e079d73
0fa0831
 
 
 
 
 
 
 
 
 
 
e079d73
0fa0831
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
library_name: mlx
pipeline_tag: image-to-image
base_model: hustvl/Moebius
tags:
  - mlx
  - image-inpainting
  - inpainting
  - diffusion
  - moebius
  - ft_celebahq
  - q4
---

# Moebius ft_celebahq MLX q4

This folder contains a converted MLX version of the **ft_celebahq** Moebius checkpoint in **q4** form. `ft_celebahq` means the Moebius checkpoint fine-tuned on CelebA-HQ, for face and portrait inpainting.

Original upstream model: [hustvl/Moebius](https://huggingface.co/hustvl/Moebius)  
Original source repository: [hustvl/Moebius](https://github.com/hustvl/Moebius)

Moebius checkpoint fine-tuned on CelebA-HQ. This variant is intended for face and portrait inpainting distributions.

## Identity

| Field | Value |
|---|---|
| Variant name | `ft_celebahq-q4` |
| Checkpoint meaning | Fine-tuned on CelebA-HQ for face and portrait inpainting. |
| Original Moebius checkpoint family | `ft_celebahq` |
| Original checkpoint type | CelebA-HQ fine-tune |
| Source PyTorch checkpoint | `Moebius-Models/ft_celebahq/diffusion_pytorch_model.bin` |
| MLX precision / quantization label | `q4` |
| Image size | 512 x 512 |
| Latent size | 64 x 64 |
| Latent channels | 4 |
| Mask channels | 1 |
| Conditioning IDs | 20 |
| VAE scaling factor | 0.13025 |
| Noise offset | 0.0357 |

## Quantization

4-bit MLX quantized export. The manifest selects a quantized UNet safetensors file. Standard q4 variants keep VAE encoder and decoder as regular f16 safetensors; special candidate variants can also select quantized VAE files and broader convolution packing.

- UNet precision mode: `q4`.
- MLX grouped quantization is used for supported linear layers; grouped quantized weights are loaded through the Moebius-MLX manifest/runtime.
- Quantization config: 4 bits, group size 64, standard MLX quantized mode.
- The VAE encoder and decoder remain regular f16 safetensors for this variant.

## Manifest-selected deployment files

These are the files selected by `manifest.json` when the Moebius-MLX runtime loads this variant.

| Component | File | Size |
|---|---|---:|
| UNet | `unet_quantized.safetensors` | 422.41 MB |
| VAE encoder | `vae_encoder.safetensors` | 68.34 MB |
| VAE decoder | `vae_decoder.safetensors` | 99.00 MB |

## Files in this folder

- `unet.safetensors`
- `unet_quantized.safetensors` (selected by manifest)
- `vae_decoder.safetensors` (selected by manifest)
- `vae_encoder.safetensors` (selected by manifest)
- `manifest.json` (runtime metadata and file selection)

A minimal runtime package needs `manifest.json` and the manifest-selected files above. Extra source or fallback files are optional and are not required for inference.

## Runtime expectations

This is not a Transformers or Diffusers-native checkpoint. It is intended for the Swift/MLX runtime in [Moebius-MLX](https://github.com/kylehowells/Moebius-MLX). The runtime reads `manifest.json`, loads the selected safetensors files, builds the Moebius UNet and VAE modules, and runs the DDIM inpainting pipeline.

Pipeline constants must match the manifest:

- DDIM scheduler: `scaled_linear`, beta start 0.00085, beta end 0.012, 1000 train timesteps, clip sample false
- 512 x 512 image resolution and 64 x 64 latent resolution
- 9-channel UNet input: noisy latent, mask, and masked-image latent
- VAE scaling factor 0.13025


## Attribution

Moebius was released by the original authors as [hustvl/Moebius](https://huggingface.co/hustvl/Moebius). This folder is a format conversion and/or quantized MLX packaging of the original PyTorch weights, not a newly trained model.