Text-to-Image
MLX
MiniMax H3
Safetensors
English
apple-silicon
macos
image-to-image
image-editing
image-generation
Instructions to use devin-lai/MiniMax-H3-Image-mlx with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use devin-lai/MiniMax-H3-Image-mlx with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download devin-lai/MiniMax-H3-Image-mlx --local-dir MiniMax-H3-Image-mlx
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Prepare inference-only v0.5.0 runtime cleanup
#1
by devin-lai - opened
This view is limited to 50 files because it contains too many changes. See the raw diff here.
- .gitignore +7 -3
- BENCHMARKS.md +118 -67
- CHANGELOG.md +14 -0
- CONTRIBUTING.md +37 -0
- MANIFEST.in +10 -0
- MODEL_INDEX.md +0 -51
- README.md +139 -120
- README.zh-CN.md +66 -33
- RELEASE.md +0 -51
- USAGE.md +128 -69
- assets/banner.svg +30 -0
- assets/benchmarks.svg +473 -0
- {reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/comparison.json +0 -0
- benchmarks/data/bf16/context.json +10 -0
- {reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/quality-audit.json +0 -0
- {reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/summary.json +0 -0
- comparisons/product-cuda/metrics.json → benchmarks/data/cuda-product.json +0 -0
- {reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/comparison.json +0 -0
- benchmarks/data/packed12/context.json +10 -0
- {reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/quality-audit.json +0 -0
- {reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/summary.json +0 -0
- reports/tradeoffs.json → benchmarks/data/precision.json +0 -36
- benchmarks/data/provenance.json +41 -0
- comparisons/README.md +0 -32
- comparisons/cuda-reference/native-4k.json +0 -63
- comparisons/cuda-reference/portrait.json +0 -63
- comparisons/cuda-reference/product.json +0 -63
- comparisons/edit-example/record.json +0 -120
- comparisons/native-4k-cuda/metrics.json +0 -75
- comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json +0 -85
- comparisons/optimization-r3/edit/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3/gallery.json +0 -98
- comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3/portrait/qk-fc2/metrics.json +0 -85
- comparisons/optimization-r3/product/qk-fc2/metrics.json +0 -85
- comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json +0 -76
- comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json +0 -68
- comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json +0 -76
- comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json +0 -68
.gitignore
CHANGED
|
@@ -1,5 +1,4 @@
|
|
| 1 |
-
.venv/
|
| 2 |
-
.venv-coreml/
|
| 3 |
__pycache__/
|
| 4 |
.pytest_cache/
|
| 5 |
.ruff_cache/
|
|
@@ -10,5 +9,10 @@ dist/
|
|
| 10 |
models/
|
| 11 |
cache/
|
| 12 |
outputs/
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
*.metaltrace
|
| 14 |
-
.
|
|
|
|
|
|
| 1 |
+
.venv*/
|
|
|
|
| 2 |
__pycache__/
|
| 3 |
.pytest_cache/
|
| 4 |
.ruff_cache/
|
|
|
|
| 9 |
models/
|
| 10 |
cache/
|
| 11 |
outputs/
|
| 12 |
+
benchmark-runs/
|
| 13 |
+
*.safetensors
|
| 14 |
+
*.gguf
|
| 15 |
+
*.mlpackage/
|
| 16 |
*.metaltrace
|
| 17 |
+
.env
|
| 18 |
+
.env.*
|
BENCHMARKS.md
CHANGED
|
@@ -1,71 +1,122 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
arithmetic following the inspected source path.
|
| 8 |
|
| 9 |
-
##
|
| 10 |
|
| 11 |
-
| Storage |
|
| 12 |
|---|---:|---:|---:|---:|
|
| 13 |
-
|
|
| 14 |
-
| Lossless packed BF16 | 66.42 s | 64.05 s | 3.57% | 32.56 GiB |
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Performance and precision
|
| 2 |
|
| 3 |
+
All reported measurements are real recorded runs on **Apple M5 Pro, 16 GPU
|
| 4 |
+
cores, 64 GiB unified memory, macOS 27.0.1, MLX/MLX Metal 0.32.4**. They describe
|
| 5 |
+
this machine and these inputs. The GitHub release does not introduce a new
|
| 6 |
+
cross-hardware performance campaign.
|
|
|
|
| 7 |
|
| 8 |
+
## Paired warm, complete-image measurements
|
| 9 |
|
| 10 |
+
| Storage | Control | Tuned | Latency reduction | Candidate max sampled physical footprint¹ |
|
| 11 |
|---|---:|---:|---:|---:|
|
| 12 |
+
| BF16 | 65.83 s | **62.49 s** | **5.07%** | 40.50 GiB |
|
| 13 |
+
| Lossless packed BF16 | 66.42 s | **64.05 s** | **3.57%** | 32.56 GiB |
|
| 14 |
+
|
| 15 |
+

|
| 16 |
+
|
| 17 |
+
Each headline latency is the equal-weight geometric mean of product and
|
| 18 |
+
portrait medians at **2048 × 2048**, all six PDD steps. Each case has three
|
| 19 |
+
alternating paired repeats (AB, BA, AB) after shape warmup. Conditioning is
|
| 20 |
+
cached, weights and VAE are resident, and CPU PyTorch supplies original noise.
|
| 21 |
+
Trace and PNG save are included; interpreter startup, downloads and external
|
| 22 |
+
quality scoring are excluded. First-load and warmup runs are excluded from
|
| 23 |
+
the timing population. A new CLI process should not be expected to match
|
| 24 |
+
these warm results.
|
| 25 |
+
|
| 26 |
+
| Case | BF16 control samples (s) | BF16 tuned samples (s) | Packed control samples (s) | Packed tuned samples (s) |
|
| 27 |
+
|---|---|---|---|---|
|
| 28 |
+
| Product | 67.02, 66.80, 64.56 | 63.90, 64.24, 61.27 | 66.74, 67.70, 66.52 | 64.86, 65.30, 63.02 |
|
| 29 |
+
| Portrait | 64.23, 64.86, 65.15 | 60.65, 61.11, 62.01 | 66.77, 66.11, 65.95 | 63.44, 62.98, 63.26 |
|
| 30 |
+
|
| 31 |
+
Full precision values are in the [BF16 summary](benchmarks/data/bf16/summary.json)
|
| 32 |
+
and [packed summary](benchmarks/data/packed12/summary.json). The corresponding
|
| 33 |
+
[BF16 comparison](benchmarks/data/bf16/comparison.json) and
|
| 34 |
+
[packed comparison](benchmarks/data/packed12/comparison.json) contain the
|
| 35 |
+
geometric means and descriptive range screen. Three repeats are not a
|
| 36 |
+
statistical confidence interval.
|
| 37 |
+
|
| 38 |
+
¹ Maximum sampled parent physical footprint across four candidate cases,
|
| 39 |
+
including the fine-detail and edit validation cases. The timing-only maxima
|
| 40 |
+
are 39.74 GiB BF16 and 31.83 GiB packed; those are different populations from
|
| 41 |
+
the four-case maxima. Sampling every 100 ms can miss short peaks. Parent
|
| 42 |
+
footprint includes Metal but excludes compiler XPC services. MLX allocator
|
| 43 |
+
peaks and process lifetime high water are separate overlapping counters;
|
| 44 |
+
they are not added. These numbers are not minimum RAM requirements.
|
| 45 |
+
|
| 46 |
+
BF16 and packed results are separate campaigns, each with its own control.
|
| 47 |
+
They do not isolate the speed effect of compression. The tuned profile uses
|
| 48 |
+
compiled DiT/VAE blocks, VAE tile batch four, prefetch four, exact Q/K fusion
|
| 49 |
+
and shape-qualified M5 FC2 tiling. [Tested options](USAGE.md#measured-exact-tuning).
|
| 50 |
+
|
| 51 |
+
## What “exact” means here
|
| 52 |
+
|
| 53 |
+
The four declared cases are product, portrait, fine detail and a one-reference
|
| 54 |
+
edit. Every output pixel and saved conditioning/denoising tensor matched the
|
| 55 |
+
corresponding MLX control in both campaigns:
|
| 56 |
+
|
| 57 |
+
- [BF16 pixel/tensor audit](benchmarks/data/bf16/quality-audit.json)
|
| 58 |
+
- [Packed pixel/tensor audit](benchmarks/data/packed12/quality-audit.json)
|
| 59 |
+
|
| 60 |
+
This is agreement with the stated MLX reference on those cases. It does not
|
| 61 |
+
establish CUDA byte identity, ground-truth quality, general superiority, or
|
| 62 |
+
unchanged behavior for every prompt/device. Fine-detail and edit validation
|
| 63 |
+
cases were reused during tuning, rather than serving as new blind holdouts.
|
| 64 |
+
|
| 65 |
+
## Historical Q8/Q4 tradeoffs
|
| 66 |
+
|
| 67 |
+
| Precision | Denoising only | Peak MLX allocation | RGB SSIM vs native | RGB MAE / 255 |
|
| 68 |
+
|---|---:|---:|---:|---:|
|
| 69 |
+
| BF16 reference | 67.87 s | 38.31 GiB | 1.0000 | 0.000 |
|
| 70 |
+
| Q8 | 72.28 s | 21.48 GiB | 0.9318 | 5.793 |
|
| 71 |
+
| Q4 | 67.71 s | 12.51 GiB | 0.7799 | 22.925 |
|
| 72 |
+
|
| 73 |
+
These are **one historical resident product sample per profile**, with online
|
| 74 |
+
quantization performed before the timed denoising stage. They are not fresh
|
| 75 |
+
end-to-end benchmarks of the downloadable exports. The public runtime loads
|
| 76 |
+
those exports and does not quantize. [Recorded values](benchmarks/data/precision.json).
|
| 77 |
+
Denoising-only timings and allocator peaks are not comparable to the
|
| 78 |
+
complete-image/physical-footprint table above.
|
| 79 |
+
|
| 80 |
+
Q8/Q4 reduce weight storage, change image details and have no established
|
| 81 |
+
generation-speed advantage here. Inspect [lettering and matched detail crops](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/details.png)
|
| 82 |
+
and the [full comparison stack](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png).
|
| 83 |
+
RGB SSIM uses scikit-image's default 7×7 per-channel window; PSNR uses RGB MSE
|
| 84 |
+
with data range 255. Neither measures prompt adherence or aesthetic quality.
|
| 85 |
+
|
| 86 |
+
## CUDA visual context
|
| 87 |
+
|
| 88 |
+
The historical RTX 5090 BF16 reference uses the same prompt, seed and canvas
|
| 89 |
+
but upstream `quality=lossless` VAE settings, differing from this port's native
|
| 90 |
+
tile recipe. The 2048² product comparison records 0.9196 RGB SSIM, 21.15 dB
|
| 91 |
+
PSNR and 7.448/255 MAE. This does not isolate backend arithmetic error.
|
| 92 |
+
[Raw metrics](benchmarks/data/cuda-product.json) ·
|
| 93 |
+
[Matched visual comparison](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/stack.png).
|
| 94 |
+
|
| 95 |
+
No CUDA-versus-MLX speedup is claimed: hardware, decoder settings and timing
|
| 96 |
+
boundaries differ. A 4096² native run also completed historically, but the
|
| 97 |
+
headline performance cohort is 2048².
|
| 98 |
+
|
| 99 |
+
## Measure your own Mac
|
| 100 |
+
|
| 101 |
+
Use the same prompt, seed, canvas, variant and software for each profile.
|
| 102 |
+
Run one GPU workload at a time, and retain warmup records separately:
|
| 103 |
+
|
| 104 |
+
```bash
|
| 105 |
+
python -m h3_mlx.benchmark \
|
| 106 |
+
--model models/packed12 --text-encoder models/packed12/text_encoder \
|
| 107 |
+
--prompt 'An editorial photograph of a cobalt perfume bottle on pale stone' \
|
| 108 |
+
--seed 731 --profile tuned --warmup 1 --repeats 3 \
|
| 109 |
+
--output benchmark-runs/packed-tuned
|
| 110 |
+
```
|
| 111 |
+
|
| 112 |
+
Run again with `--profile control` and a new output directory. This public
|
| 113 |
+
runner measures **one resident profile at a time**, using synchronized outer
|
| 114 |
+
wall time including trace, PNG and JSON save. It is useful for new hardware
|
| 115 |
+
results; it does not recreate the historical alternating AB/BA harness or
|
| 116 |
+
100 ms physical-footprint sampler. Every run retains output images, traces,
|
| 117 |
+
inference JSON and a summary containing all samples, median/range, hardware
|
| 118 |
+
and cache state. Use [the complete recorded prompts](examples/catalog.json)
|
| 119 |
+
when comparing with historical examples.
|
| 120 |
+
|
| 121 |
+
[Raw-record provenance](benchmarks/data/provenance.json) ·
|
| 122 |
+
[Release package validation](docs/VALIDATION.md)
|
CHANGELOG.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Changelog
|
| 2 |
+
|
| 3 |
+
## 0.5.0 — GitHub inference release
|
| 4 |
+
|
| 5 |
+
- Publish the MLX/Metal runtime for text-to-image generation and reference-image editing.
|
| 6 |
+
- Load the collection's pinned BF16, lossless packed BF16, Q8 and Q4 components with shared-file reuse and optional SHA-256 verification.
|
| 7 |
+
- Retain exact M5 tuning, native fallbacks, resident pipelines, JSON inference records and trace output.
|
| 8 |
+
- Add an inference-only benchmark runner, raw historical comparisons, sample catalog/reproduction commands and English/Chinese documentation.
|
| 9 |
+
- Remove conversion, online quantization, packing encoders, Core ML development paths and private model-publishing tools from the public package.
|
| 10 |
+
- Add portable CI, hardware regression checks and source/wheel/sdist boundary audits.
|
| 11 |
+
|
| 12 |
+
Model component revisions remain the existing Hub **v0.4.1** files. Historical
|
| 13 |
+
performance results retain their original scope; package validation is
|
| 14 |
+
reported separately in [VALIDATION.md](docs/VALIDATION.md).
|
CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Contributing
|
| 2 |
+
|
| 3 |
+
Reports and measured improvements from more Apple silicon configurations are
|
| 4 |
+
welcome. Open an issue with the command, variant, chip/GPU-core count, unified
|
| 5 |
+
memory, macOS version and generated JSON record. Remove private prompt or
|
| 6 |
+
reference-image content before sharing it.
|
| 7 |
+
|
| 8 |
+
For a local development environment:
|
| 9 |
+
|
| 10 |
+
```bash
|
| 11 |
+
uv venv --python 3.12
|
| 12 |
+
source .venv/bin/activate
|
| 13 |
+
uv pip install -e '.[dev]'
|
| 14 |
+
python -m pytest -q
|
| 15 |
+
ruff check .
|
| 16 |
+
ruff format --check .
|
| 17 |
+
python -m build
|
| 18 |
+
python tools/check_release.py dist/*.whl dist/*.tar.gz
|
| 19 |
+
```
|
| 20 |
+
|
| 21 |
+
The full numerical suite needs an Apple GPU. Portable tests run on Linux in
|
| 22 |
+
CI; exact M5-kernel tests skip on other hardware. The tested macOS dependency
|
| 23 |
+
snapshot is [requirements-macos.lock](requirements-macos.lock).
|
| 24 |
+
|
| 25 |
+
For arithmetic or loading changes, compare matching prompt, seed, canvas,
|
| 26 |
+
noise stream and variant, and retain image/trace hashes. Distinguish warm
|
| 27 |
+
resident timings from first-load timings, and MLX allocations from process
|
| 28 |
+
physical footprint. [Benchmark method](BENCHMARKS.md).
|
| 29 |
+
|
| 30 |
+
Keep this repository inference-only. Do not submit training, model conversion,
|
| 31 |
+
packing encoders, online quantization, weight exporters, checkpoints, private
|
| 32 |
+
publishing tools or credentials. The source and distribution audit checks
|
| 33 |
+
reviewed module names and conversion operations. Public sample images remain
|
| 34 |
+
in the existing access-reviewed Hub gallery under the model terms.
|
| 35 |
+
|
| 36 |
+
Changes to the CLI, model catalog or numerical behavior should update the
|
| 37 |
+
usage/validation documents and include a focused regression test where useful.
|
MANIFEST.in
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
include LICENSE NOTICE LICENSE-model LICENSE-text-encoder
|
| 2 |
+
include README.md README.zh-CN.md USAGE.md BENCHMARKS.md CONTRIBUTING.md CHANGELOG.md
|
| 3 |
+
include requirements-macos.lock
|
| 4 |
+
recursive-include docs *.md *.json
|
| 5 |
+
recursive-include benchmarks *.json
|
| 6 |
+
recursive-include examples *.md *.json *.py
|
| 7 |
+
recursive-include assets *.svg
|
| 8 |
+
recursive-include tests *.py
|
| 9 |
+
recursive-include tools *.py
|
| 10 |
+
global-exclude *.pyc .DS_Store
|
MODEL_INDEX.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
| 1 |
-
# Model and repository index
|
| 2 |
-
|
| 3 |
-
The Hugging Face Hub uses sibling repositories grouped by a collection.
|
| 4 |
-
The main repository links them; it does not contain nested Git repositories
|
| 5 |
-
or any model weights. Each download selects one variant and shared components.
|
| 6 |
-
|
| 7 |
-
| Repository under `devin-lai/` | Contents | Selection |
|
| 8 |
-
|---|---|---|
|
| 9 |
-
| `MiniMax-H3-Image-mlx` | Inference source, documentation, tests and comparison records | Install once |
|
| 10 |
-
| `MiniMax-H3-Image-mlx-packed12` | Fifty losslessly packed main DiT blocks | Recommended exact storage choice |
|
| 11 |
-
| `MiniMax-H3-Image-mlx-bf16` | Original complete BF16/FP32 transformer | Unmodified storage control |
|
| 12 |
-
| `MiniMax-H3-Image-mlx-q8` | Q8 main blocks and token refiners, group 64 | Smaller weights, image changes |
|
| 13 |
-
| `MiniMax-H3-Image-mlx-q4` | Q4 main blocks and token refiners, group 64 | Smallest core, larger image changes |
|
| 14 |
-
| `MiniMax-H3-Image-mlx-shared` | VAE, PDD heads, native support, configs and modulation tables | Fetched as needed, reused across variants |
|
| 15 |
-
| `MiniMax-H3-Image-mlx-examples` | Generated images and visual comparisons | Optional gallery, with manual access review |
|
| 16 |
-
|
| 17 |
-
The unchanged encoder is fetched from
|
| 18 |
-
[`MiniMaxAI/MiniMax-H3`](https://huggingface.co/MiniMaxAI/MiniMax-H3/tree/0919fb684102ef115126612f3fbb84d1027e7317/text_encoder)
|
| 19 |
-
at revision `0919fb684102ef115126612f3fbb84d1027e7317`. Only its `text_encoder/`
|
| 20 |
-
directory and license are selected. This is about **62.14 GiB** of weights and
|
| 21 |
-
tokenizer files; it is a substantial first download. An existing copy can be
|
| 22 |
-
reused with `--text-encoder-path`.
|
| 23 |
-
|
| 24 |
-
The image source is `MiniMaxAI/MiniMax-H3-Image` at revision
|
| 25 |
-
`6534ea1c979a5f8cb00c2bd1025d5ca4ee8d8901`. All uploaded model files receive
|
| 26 |
-
SHA-256 manifests; the runtime catalog pins each component repository to a
|
| 27 |
-
full commit ID. A `v0.4.1` tag provides a human-readable
|
| 28 |
-
release name. Runtime options such as compiled execution, VAE tile batches
|
| 29 |
-
and reduced steps do not create additional model repositories.
|
| 30 |
-
|
| 31 |
-
## Layout after downloading
|
| 32 |
-
|
| 33 |
-
```text
|
| 34 |
-
models/packed12/
|
| 35 |
-
release.json
|
| 36 |
-
transformer/ # Native constants, norms, refiners and config
|
| 37 |
-
core/ # Only the chosen variant
|
| 38 |
-
modulation/ # Six-step generation and editing tables
|
| 39 |
-
vae/
|
| 40 |
-
pdd_config.json
|
| 41 |
-
pdd_fused_heads.safetensors
|
| 42 |
-
text_encoder/ # Link to the one shared upstream cache
|
| 43 |
-
licenses/
|
| 44 |
-
```
|
| 45 |
-
|
| 46 |
-
Files are linked to Hugging Face's cache rather than copied. Keep that cache
|
| 47 |
-
while using the assembled directory. `--local-files-only` supports cached,
|
| 48 |
-
offline assembly. `--verify` rehashes all selected image-model files; the
|
| 49 |
-
encoder download uses the Hub's pinned, content-addressed download mechanism.
|
| 50 |
-
Download size is different from runtime memory. The prepared release's exact
|
| 51 |
-
file sizes are recorded in each repository's `files.json` manifest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -20,155 +20,174 @@ tags:
|
|
| 20 |
inference: false
|
| 21 |
---
|
| 22 |
|
| 23 |
-
|
|
|
|
|
|
|
| 24 |
|
| 25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
-
|
| 28 |
-
**62.49 s with BF16** or **64.05 s with lossless packed BF16**. These are
|
| 29 |
-
historical tests with cached conditioning and resident weights; see the
|
| 30 |
-
[measurement details](#measured-on-m5-pro--64-gib).
|
| 31 |
|
| 32 |
-
|
| 33 |
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
|
|
|
| 37 |
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
all six distilled PDD steps, reference-image editing, lossless BF16 packing
|
| 41 |
-
and optional Q8/Q4 weights. Model operators run locally on your Mac.
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
|
|
|
| 46 |
|
| 47 |
-
**
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
smaller-memory Macs have not been qualified.
|
| 51 |
-
|
| 52 |
-
## Choose your download
|
| 53 |
-
|
| 54 |
-
The main repository contains inference code, documentation and comparison
|
| 55 |
-
records. Generated images are in the separately gated example gallery. Each
|
| 56 |
-
linked model repository contains one weight choice.
|
| 57 |
-
The downloader fetches that choice and its required shared files, then reuses
|
| 58 |
-
the same pinned upstream text encoder across variants.
|
| 59 |
-
|
| 60 |
-
| Variant | Variant weights¹ | Choose it for |
|
| 61 |
-
|---|---:|---|
|
| 62 |
-
| **[Lossless packed BF16](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-packed12)** | **27.23 GiB** | Recommended exact storage choice; original BF16 payloads |
|
| 63 |
-
| [Original BF16](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-bf16) | 61.73 GiB | Unmodified complete transformer storage |
|
| 64 |
-
| [Q8](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q8) | 19.83 GiB | Smaller core; image and detail changes |
|
| 65 |
-
| [Q4](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q4) | 10.50 GiB | Smallest core; stronger fidelity tradeoffs |
|
| 66 |
-
|
| 67 |
-
¹ Excludes [shared VAE, support tensors, heads and tables](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-shared),
|
| 68 |
-
the separate **roughly 62 GiB text encoder**, Python dependencies and runtime
|
| 69 |
-
memory. BF16 already includes native support; the downloader omits its redundant
|
| 70 |
-
shared copy.
|
| 71 |
-
Download sizes are not RAM requirements. Q8/Q4 quantize main and refiner
|
| 72 |
-
attention/MLP weights with MLX affine groups of 64; FP32 precision islands stay
|
| 73 |
-
native. Quantization has not established a generation-speed advantage here.
|
| 74 |
-
|
| 75 |
-
**License and access:** model weights retain MiniMax's community agreements,
|
| 76 |
-
including territory and commercial restrictions; they are not unrestricted
|
| 77 |
-
open-source weights. Model components use manual access review.
|
| 78 |
-
[Status and license details](RELEASE.md).
|
| 79 |
|
| 80 |
## Quick start
|
| 81 |
|
| 82 |
-
Use an Apple silicon Mac
|
| 83 |
-
|
| 84 |
-
|
| 85 |
|
| 86 |
```bash
|
| 87 |
-
|
|
|
|
|
|
|
| 88 |
source .venv/bin/activate
|
| 89 |
-
uv pip install
|
| 90 |
-
hf auth login
|
| 91 |
-
|
| 92 |
-
hf download devin-lai/MiniMax-H3-Image-mlx --revision v0.4.1 \
|
| 93 |
-
--include 'h3_mlx/*' config.json pyproject.toml LICENSE NOTICE \
|
| 94 |
-
--local-dir h3-runtime
|
| 95 |
-
uv pip install './h3-runtime[native]'
|
| 96 |
h3-mlx doctor
|
|
|
|
| 97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
|
|
|
| 99 |
h3-mlx generate --model models/packed12 \
|
| 100 |
--text-encoder models/packed12/text_encoder \
|
| 101 |
'An editorial photograph of a cobalt perfume bottle on pale stone' \
|
| 102 |
--width 2048 --height 2048 --seed 731 --output outputs/bottle.png
|
| 103 |
```
|
| 104 |
|
| 105 |
-
The first download
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
|
| 116 |
-
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
|---|---:|---:|---:|---:|
|
| 120 |
| BF16 | 65.83 s | **62.49 s** | **5.07%** | 40.50 GiB |
|
| 121 |
| Lossless packed BF16 | 66.42 s | **64.05 s** | **3.57%** | **32.56 GiB** |
|
| 122 |
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
[
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 166 |
|
| 167 |
**Runtime code:** [Apache-2.0](LICENSE).
|
| 168 |
-
**Image
|
| 169 |
**Separate text encoder:** [MiniMax H3 Community License Agreement](LICENSE-text-encoder).
|
| 170 |
-
The
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
inference: false
|
| 21 |
---
|
| 22 |
|
| 23 |
+
<p align="center">
|
| 24 |
+
<img src="assets/banner.svg" alt="MiniMax H3 Image — local image generation and editing on Apple silicon" width="100%">
|
| 25 |
+
</p>
|
| 26 |
|
| 27 |
+
<p align="center">
|
| 28 |
+
<a href="LICENSE"><img src="https://img.shields.io/badge/code-Apache--2.0-blue" alt="Code: Apache 2.0"></a>
|
| 29 |
+
<a href="https://github.com/devin-lai/MiniMax-H3-Image-MLX/actions/workflows/ci.yml"><img src="https://github.com/devin-lai/MiniMax-H3-Image-MLX/actions/workflows/ci.yml/badge.svg" alt="Portable checks"></a>
|
| 30 |
+
<img src="https://img.shields.io/badge/Apple_silicon-MLX_0.32.4-black" alt="Apple silicon, MLX 0.32.4">
|
| 31 |
+
<a href="https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx"><img src="https://img.shields.io/badge/🤗-model_collection-yellow" alt="Hugging Face model collection"></a>
|
| 32 |
+
</p>
|
| 33 |
|
| 34 |
+
# MiniMax H3 Image · MLX
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
**Generate and edit images locally on your Mac. Six distilled steps. Four weight choices. Native MLX and Metal.**
|
| 37 |
|
| 38 |
+
A community inference port of [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image)
|
| 39 |
+
by [Devin Lai](https://github.com/devin-lai). Use the preconverted models in the
|
| 40 |
+
[Apple silicon collection](https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx)
|
| 41 |
+
for text-to-image generation and reference-image editing.
|
| 42 |
|
| 43 |
+
[Quick start](#quick-start) · [Sample gallery](examples/README.md) ·
|
| 44 |
+
[Benchmarks](BENCHMARKS.md) · [Usage & Python API](USAGE.md) · [简体中文](README.zh-CN.md)
|
|
|
|
|
|
|
| 45 |
|
| 46 |
+
- **Local inference:** text encoder, diffusion transformer, reference encoder and VAE run with MLX on Metal.
|
| 47 |
+
- **Lossless packed BF16:** 27.23 GiB variant payload, reconstructing the original BF16 bits before matrix multiplication.
|
| 48 |
+
- **Reproducible outputs:** every image gets a JSON record with prompt, seed, schedule, precision, hardware and timings.
|
| 49 |
+
- **Measured tuning:** optional compiled blocks and exact M5 kernels; native fallback on unsupported shapes and devices.
|
| 50 |
|
| 51 |
+
**Inference code is Apache-2.0. Model conversion, packing encoders and weight export tools are closed and are not included.**
|
| 52 |
+
This runtime loads the collection's existing BF16, packed12, Q8 and Q4 files.
|
| 53 |
+
Weights and generated outputs retain the upstream model terms; see [licenses and access](#licenses-and-access).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
|
| 55 |
## Quick start
|
| 56 |
|
| 57 |
+
Use an **Apple silicon Mac** and native arm64 Python 3.12. The tested machine is
|
| 58 |
+
an **M5 Pro with 64 GiB unified memory**; smaller-memory Macs have not been qualified.
|
| 59 |
+
Install [uv](https://docs.astral.sh/uv/getting-started/installation/), then:
|
| 60 |
|
| 61 |
```bash
|
| 62 |
+
git clone https://github.com/devin-lai/MiniMax-H3-Image-MLX.git
|
| 63 |
+
cd MiniMax-H3-Image-MLX
|
| 64 |
+
uv venv --python 3.12
|
| 65 |
source .venv/bin/activate
|
| 66 |
+
uv pip install '.[native]'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
h3-mlx doctor
|
| 68 |
+
```
|
| 69 |
|
| 70 |
+
Request access to your chosen variant and the
|
| 71 |
+
[shared components](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-shared)
|
| 72 |
+
on Hugging Face, read their terms, and sign in:
|
| 73 |
+
|
| 74 |
+
```bash
|
| 75 |
+
hf auth login
|
| 76 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
| 77 |
+
|
| 78 |
h3-mlx generate --model models/packed12 \
|
| 79 |
--text-encoder models/packed12/text_encoder \
|
| 80 |
'An editorial photograph of a cobalt perfume bottle on pale stone' \
|
| 81 |
--width 2048 --height 2048 --seed 731 --output outputs/bottle.png
|
| 82 |
```
|
| 83 |
|
| 84 |
+
The first download includes a **separate roughly 62 GiB text encoder**, shared
|
| 85 |
+
components and your selected weights. Download size is not a RAM requirement.
|
| 86 |
+
Reuse an encoder with `--text-encoder-path /path/to/text_encoder`.
|
| 87 |
+
The `native` extra supplies PyTorch for the original CPU random-noise stream;
|
| 88 |
+
model computation runs in MLX.
|
| 89 |
+
|
| 90 |
+
For editing, add `--image outputs/bottle.png` and use a prompt such as
|
| 91 |
+
`'Change the bottle in <Picture 1> to emerald green glass, preserving the label'`.
|
| 92 |
+
[More commands, offline use and resident pipelines →](USAGE.md)
|
| 93 |
|
| 94 |
+
## Choose your weights
|
| 95 |
+
|
| 96 |
+
| Variant | Variant payload¹ | Intended use |
|
| 97 |
+
|---|---:|---|
|
| 98 |
+
| **[packed12](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-packed12)** | **27.23 GiB** | Recommended exact storage choice; lossless BF16 |
|
| 99 |
+
| [BF16](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-bf16) | 61.73 GiB | Original complete transformer storage |
|
| 100 |
+
| [Q8](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q8) | 19.83 GiB | Smaller core, with image/detail changes |
|
| 101 |
+
| [Q4](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-q4) | 10.50 GiB | Smallest core, with stronger fidelity tradeoffs |
|
| 102 |
|
| 103 |
+
¹ Excludes shared VAE/support/heads/tables (up to 3.86 GiB), the text encoder,
|
| 104 |
+
dependencies and runtime memory. BF16 includes native support, so the downloader
|
| 105 |
+
omits the redundant shared copy. One variant is downloaded at a time; shared
|
| 106 |
+
files and the encoder are reused. [Pinned model catalog](h3_mlx/model_index.json).
|
| 107 |
|
| 108 |
+
Q8/Q4 use affine groups of 64 for attention/MLP weights and preserve FP32
|
| 109 |
+
precision islands. They reduce storage; an inference-speed advantage has not
|
| 110 |
+
been established. **packed12 is storage compression, not quantization.**
|
| 111 |
+
|
| 112 |
+
## Performance you can inspect
|
| 113 |
+
|
| 114 |
+
**2048 × 2048 · all six steps · M5 Pro / 16 GPU cores / 64 GiB · MLX 0.32.4**
|
| 115 |
+
|
| 116 |
+
| Weight storage | Warm control | Warm tuned | Latency reduction | Max sampled parent footprint² |
|
| 117 |
|---|---:|---:|---:|---:|
|
| 118 |
| BF16 | 65.83 s | **62.49 s** | **5.07%** | 40.50 GiB |
|
| 119 |
| Lossless packed BF16 | 66.42 s | **64.05 s** | **3.57%** | **32.56 GiB** |
|
| 120 |
|
| 121 |
+

|
| 122 |
+
|
| 123 |
+
These are historical warm measurements with cached conditioning and resident
|
| 124 |
+
weights. Each headline latency is the geometric mean of product and portrait
|
| 125 |
+
medians, three alternating repeats per case. Timings include trace/PNG save;
|
| 126 |
+
downloads and interpreter startup are excluded. A fresh CLI process includes
|
| 127 |
+
loading and should not be expected to match them.
|
| 128 |
+
|
| 129 |
+
² Maximum sampled parent-process physical footprint across four candidate
|
| 130 |
+
cases, including an edit; **not minimum required RAM**. BF16 and packed12 are
|
| 131 |
+
separate campaigns. Each tuned configuration matched every output pixel and
|
| 132 |
+
saved trajectory tensor of its own MLX control across those four cases.
|
| 133 |
+
CUDA pixel identity and broad image-quality superiority are not claimed.
|
| 134 |
+
|
| 135 |
+
[Method, raw samples, Q8/Q4 tradeoffs and CUDA comparison scope →](BENCHMARKS.md)
|
| 136 |
+
|
| 137 |
+
To enable the measured tuning, add:
|
| 138 |
+
|
| 139 |
+
```bash
|
| 140 |
+
--compile-blocks --eval-every 0 --prefetch-blocks 4 \
|
| 141 |
+
--compile-vae --vae-batch 4 --kernel metal-qk-exact --tune-matmul
|
| 142 |
+
```
|
| 143 |
+
|
| 144 |
+
## Real samples and comparisons
|
| 145 |
+
|
| 146 |
+
The [recorded sample gallery](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples)
|
| 147 |
+
contains **AI-generated** product, portrait, fine-detail and editing images,
|
| 148 |
+
along with full-resolution crops and native/Q8/Q4 comparisons. It retains its
|
| 149 |
+
existing access review under the model terms.
|
| 150 |
+
|
| 151 |
+
| Sample | Inspect the recorded image | Reproduction details |
|
| 152 |
+
|---|---|---|
|
| 153 |
+
| Product lettering & glass | [NIGHT TIDE perfume bottle](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/product.png) | packed12 · seed 731 · 2048² |
|
| 154 |
+
| Portrait & skin detail | [Conservatory portrait](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/portrait.png) | packed12 · seed 1234 · 2048² |
|
| 155 |
+
| Fine mechanical detail | [Watchmaker's bench](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/examples/holdout-detail.png) | packed12 · seed 928417 · 2048² |
|
| 156 |
+
| Reference-image editing | [Cobalt → emerald glass](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/edit-example/before-after.png) | one reference · seed 42 · 1024² output |
|
| 157 |
+
|
| 158 |
+
[Full prompts, input identities, hashes and sample runner →](examples/README.md)
|
| 159 |
+
|
| 160 |
+
## Development and contributions
|
| 161 |
+
|
| 162 |
+
```bash
|
| 163 |
+
uv pip install -e '.[dev]'
|
| 164 |
+
python -m pytest -q
|
| 165 |
+
ruff check .
|
| 166 |
+
python -m build
|
| 167 |
+
python tools/check_release.py dist/*.whl dist/*.tar.gz
|
| 168 |
+
```
|
| 169 |
+
|
| 170 |
+
Hardware tests require a local Apple GPU. GitHub Actions checks portable Hub
|
| 171 |
+
logic, CLI boundaries, lint, packaging and the inference-only artifact audit.
|
| 172 |
+
[Validation evidence](docs/VALIDATION.md) · [Contributing](CONTRIBUTING.md) ·
|
| 173 |
+
[Technical notes](docs/TECHNICAL.md) · [Release notes](CHANGELOG.md).
|
| 174 |
+
|
| 175 |
+
Results from more Apple silicon chips are welcome. Include the inference JSON,
|
| 176 |
+
chip, memory, macOS version, command and variant when
|
| 177 |
+
[reporting an issue](https://github.com/devin-lai/MiniMax-H3-Image-MLX/issues).
|
| 178 |
+
If this is useful, star the project and share a reproducible result.
|
| 179 |
+
|
| 180 |
+
## Licenses and access
|
| 181 |
|
| 182 |
**Runtime code:** [Apache-2.0](LICENSE).
|
| 183 |
+
**Image model:** [MiniMax-H3-Image Community License Agreement](LICENSE-model).
|
| 184 |
**Separate text encoder:** [MiniMax H3 Community License Agreement](LICENSE-text-encoder).
|
| 185 |
+
The model agreements include territorial, commercial, redistribution and
|
| 186 |
+
acceptable-use conditions. Their standard grants exclude the EU, UK, Republic
|
| 187 |
+
of Korea and US absent separate permission. Hub access does not grant additional
|
| 188 |
+
rights. Model weights and original sample images are hosted on Hugging Face.
|
| 189 |
+
|
| 190 |
+
Independent community adaptation by Devin Lai; this is not an official MiniMax
|
| 191 |
+
release or endorsement. **Powered by MiniMax-H3-Image.**
|
| 192 |
+
[NOTICE](NOTICE) · [Modifications](docs/MODIFICATIONS.md) ·
|
| 193 |
+
[Upstream source provenance](provenance/sources.json).
|
README.zh-CN.md
CHANGED
|
@@ -1,34 +1,29 @@
|
|
| 1 |
-
# MiniMax H3 Image ·
|
| 2 |
|
| 3 |
-
在
|
| 4 |
-
保留原始六步 PDD 调度、BF16 权重与 FP32 精度敏感层,提供无损 packed12、
|
| 5 |
-
原始 BF16,以及有损 Q8/Q4 选项。
|
| 6 |
|
| 7 |
-
[
|
|
|
|
| 8 |
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
|
| 13 |
-
|
| 14 |
-
Q8/Q4 会改变生成结果,并不保证速度更快。测试设备是 **M5 Pro / 64 GiB**;
|
| 15 |
-
尚未确认更小内存设备的最低配置。
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|---|---:|---:|---:|
|
| 21 |
-
| BF16 | 65.83 秒 | **62.49 秒** | 5.07% |
|
| 22 |
-
| 无损 packed BF16 | 66.42 秒 | **64.05 秒** | 3.57% |
|
| 23 |
-
|
| 24 |
-
2048×2048、六步;产品和人像各重复三次,复用已缓存的条件信息和常驻权重,
|
| 25 |
-
不含下载及进程启动。两种存储模式分别与自己的对照组比较。四个验证案例的输出像素
|
| 26 |
-
和保存的去噪张量均与对应 MLX 对照一致。默认快速开始未启用全部优化选项;
|
| 27 |
-
具体设置、内存口径和限制见[基准说明](BENCHMARKS.md)。
|
| 28 |
-
|
| 29 |
-
安装运行环境并获得所需访问权限后可使用:
|
| 30 |
|
| 31 |
```bash
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
| 33 |
h3-mlx generate --model models/packed12 \
|
| 34 |
--text-encoder models/packed12/text_encoder \
|
|
@@ -36,14 +31,52 @@ h3-mlx generate --model models/packed12 \
|
|
| 36 |
--seed 731 --output outputs/bottle.png
|
| 37 |
```
|
| 38 |
|
| 39 |
-
|
| 40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
|
| 43 |
-
图像权重及其衍生物保留 MiniMax-H3-Image 社区许可;文本编码器保留其独立许可。
|
| 44 |
-
现行协议对欧盟、英国、韩国和美国有地域限制,并包含商业使用、再分发和可接受使用条件。
|
| 45 |
-
使用前请确认具备所需权限。[发布与许可说明](RELEASE.md)。
|
| 46 |
|
| 47 |
-
|
| 48 |
-
[
|
| 49 |
-
|
|
|
|
|
|
|
|
|
| 1 |
+
# MiniMax H3 Image · MLX
|
| 2 |
|
| 3 |
+
**在 Apple 芯片 Mac 上本地生成和编辑图像:六步蒸馏推理,原生 MLX / Metal,四种权重可选。**
|
|
|
|
|
|
|
| 4 |
|
| 5 |
+
[English](README.md) · [模型合集](https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx) ·
|
| 6 |
+
[真实样例](examples/README.md) · [性能测试](BENCHMARKS.md) · [使用指南](USAGE.md)
|
| 7 |
|
| 8 |
+
这是 Devin Lai 的独立社区适配,不是 MiniMax 官方发布。
|
| 9 |
+
**仅开放推理代码(Apache-2.0);模型转换、打包编码器及权重导出工具不公开。**
|
| 10 |
+
运行时直接读取合集中已经转换好的 BF16、packed12、Q8 和 Q4 权重。
|
| 11 |
|
| 12 |
+
## 快速开始
|
|
|
|
|
|
|
| 13 |
|
| 14 |
+
使用 Apple 芯片 Mac、原生 arm64 Python 3.12 和
|
| 15 |
+
[uv](https://docs.astral.sh/uv/getting-started/installation/)。
|
| 16 |
+
已测试设备为 **M5 Pro / 16 核 GPU / 64 GiB 统一内存**,尚未验证更小内存机型。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
```bash
|
| 19 |
+
git clone https://github.com/devin-lai/MiniMax-H3-Image-MLX.git
|
| 20 |
+
cd MiniMax-H3-Image-MLX
|
| 21 |
+
uv venv --python 3.12
|
| 22 |
+
source .venv/bin/activate
|
| 23 |
+
uv pip install '.[native]'
|
| 24 |
+
h3-mlx doctor
|
| 25 |
+
|
| 26 |
+
hf auth login
|
| 27 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
| 28 |
h3-mlx generate --model models/packed12 \
|
| 29 |
--text-encoder models/packed12/text_encoder \
|
|
|
|
| 31 |
--seed 731 --output outputs/bottle.png
|
| 32 |
```
|
| 33 |
|
| 34 |
+
下载前请在 Hugging Face 上申请所选权重和共享组件的访问权限,并阅读模型协议。
|
| 35 |
+
首次下载还包括独立的 **约 62 GiB 文本编码器**。可以通过
|
| 36 |
+
`--text-encoder-path /path/to/text_encoder` 复用已有编码器。
|
| 37 |
+
下载大小不等于运行内存需求。`native` 扩展用于原始 CPU 随机数流,模型算子仍由 MLX 执行。
|
| 38 |
+
|
| 39 |
+
## 权重选择
|
| 40 |
+
|
| 41 |
+
| 变体 | 变体文件大小¹ | 说明 |
|
| 42 |
+
|---|---:|---|
|
| 43 |
+
| **packed12** | **27.23 GiB** | 推荐的无损 BF16 存储,计算前恢复原始位模式 |
|
| 44 |
+
| BF16 | 61.73 GiB | 原始完整 Transformer 存储 |
|
| 45 |
+
| Q8 | 19.83 GiB | 更小核心,图像和细节会变化 |
|
| 46 |
+
| Q4 | 10.50 GiB | 最小核心,画质取舍更明显 |
|
| 47 |
+
|
| 48 |
+
¹ 不包括共享 VAE、支持张量、头与表、独立文本编码器、依赖和运行内存。
|
| 49 |
+
packed12 是无损存储压缩,并非量化;Q8/Q4 尚未证明生成速度优势。
|
| 50 |
+
|
| 51 |
+
## 可检查的性能记录
|
| 52 |
+
|
| 53 |
+
2048 × 2048、全部六步、MLX 0.32.4,条件缓存命中且模型已驻留:
|
| 54 |
+
|
| 55 |
+
| 存储 | 对照耗时 | 调优耗时 | 延迟降低 |
|
| 56 |
+
|---|---:|---:|---:|
|
| 57 |
+
| BF16 | 65.83 秒 | **62.49 秒** | 5.07% |
|
| 58 |
+
| 无损 packed BF16 | 66.42 秒 | **64.05 秒** | 3.57% |
|
| 59 |
+
|
| 60 |
+
这是两个用例各三次交替重复的中位数几何平均。包含轨迹和 PNG 保存,
|
| 61 |
+
不包含下载、解释器启动和外部评分;新启动的命令行进程还需要加载模型。
|
| 62 |
+
两种存储来自各自独立的配对测试,不构成压缩速度的因果比较。
|
| 63 |
+
四个验证用例中的像素与保存的去噪张量均与各自 MLX 对照一致;不承诺 CUDA 像素一致。
|
| 64 |
+
[原始记录和限制](BENCHMARKS.md)。
|
| 65 |
+
|
| 66 |
+
## 编辑和样例
|
| 67 |
+
|
| 68 |
+
添加 `--image outputs/bottle.png`,在提示词中用 `<Picture 1>` 引用图片。
|
| 69 |
+
建议使用详细英文描述,不会自动扩写提示词。实现接受最多十六张有序参考图,
|
| 70 |
+
现有编辑验证覆盖一张参考图。
|
| 71 |
+
|
| 72 |
+
[样例库](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples) 保留访问审核,
|
| 73 |
+
包含明确标注的 AI 生成产品图、人像、机械细节和编辑前后对照。
|
| 74 |
+
[提示词、种子、哈希和复现脚本](examples/README.md) 已公开。
|
| 75 |
|
| 76 |
+
## 许可
|
|
|
|
|
|
|
|
|
|
| 77 |
|
| 78 |
+
推理代码使用 [Apache-2.0](LICENSE)。图像模型与输出保留
|
| 79 |
+
[MiniMax-H3-Image 协议](LICENSE-model),独立文本编码器保留
|
| 80 |
+
[MiniMax H3 协议](LICENSE-text-encoder)。模型协议包含地域、商业、分发和使用限制,
|
| 81 |
+
标准授权不包括欧盟、英国、韩国和美国,除非另行获得许可。访问审核不会授予额外权利。
|
| 82 |
+
**Powered by MiniMax-H3-Image.** [NOTICE](NOTICE)。
|
RELEASE.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
| 1 |
-
# Release v0.4.1
|
| 2 |
-
|
| 3 |
-
The main repository contains the MLX runtime, documentation, tests and
|
| 4 |
-
comparison records. Model files are split across four variant repositories and
|
| 5 |
-
a shared-components repository. Choose one variant; the downloader reuses the
|
| 6 |
-
shared components and the separately pinned upstream text encoder. Generated
|
| 7 |
-
images and visual comparisons are in a separate, manually gated example gallery.
|
| 8 |
-
|
| 9 |
-
[Browse the collection](https://huggingface.co/collections/devin-lai/minimax-h3-image-apple-silicon-mlx-6af64fcd11d7d7a3b17e11d8).
|
| 10 |
-
|
| 11 |
-
The component repositories use manual access review. Request access to your
|
| 12 |
-
chosen variant and the shared repository, read the applicable licenses and
|
| 13 |
-
sign in with `hf auth login`. Repository access does not itself grant rights
|
| 14 |
-
outside the upstream licenses. The agreements include territorial, commercial,
|
| 15 |
-
redistribution and acceptable-use conditions; their standard grant excludes the
|
| 16 |
-
EU, UK, Republic of Korea and US. The code is Apache-2.0; model weights retain
|
| 17 |
-
their respective MiniMax community licenses. No hosted inference service is
|
| 18 |
-
included.
|
| 19 |
-
|
| 20 |
-
[Quick start](README.md#quick-start) · [Model index](MODEL_INDEX.md) ·
|
| 21 |
-
[Usage](USAGE.md) · [Validation](docs/VALIDATION.md)
|
| 22 |
-
|
| 23 |
-
## Revisions and validation
|
| 24 |
-
|
| 25 |
-
`h3_mlx/model_index.json` pins the shared and variant repositories to immutable
|
| 26 |
-
commits. Each model repository also has a `v0.4.1` tag and a `files.json`
|
| 27 |
-
manifest with byte sizes and SHA-256 hashes. The uploaded component files were
|
| 28 |
-
checked against those manifests. The release validation records 53 local tests
|
| 29 |
-
and full-image packaging reproductions for packed12 and Q4; it does not claim
|
| 30 |
-
a fresh full-image Q8 reproduction or validation on another machine.
|
| 31 |
-
|
| 32 |
-
This patch adds root configuration files so Hugging Face can count downloads
|
| 33 |
-
through its normal server-side statistics. The weight and inference files are
|
| 34 |
-
unchanged. The previous `v0.4.0` tags and their pinned revisions remain available.
|
| 35 |
-
|
| 36 |
-
## Preparing artifacts
|
| 37 |
-
|
| 38 |
-
For maintainers with the original model and the validated packed cache:
|
| 39 |
-
|
| 40 |
-
```bash
|
| 41 |
-
python scripts/prepare_hf_release.py \
|
| 42 |
-
--model /path/to/MiniMax-H3-Image \
|
| 43 |
-
--packed-cache /path/to/validated/packed12-cache --quantize q4
|
| 44 |
-
```
|
| 45 |
-
|
| 46 |
-
Staging is written under `.release/huggingface/`. Existing model and packed
|
| 47 |
-
files are linked rather than copied; optional quantized variants require
|
| 48 |
-
additional scratch space. Preserve original checkpoints and caches. The
|
| 49 |
-
publisher script uploads and verifies individual components before finalizing
|
| 50 |
-
the pinned catalog. It does not automatically approve access requests or post
|
| 51 |
-
announcements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USAGE.md
CHANGED
|
@@ -1,102 +1,161 @@
|
|
| 1 |
-
#
|
| 2 |
|
| 3 |
-
Use Apple silicon, native arm64 Python 3.12
|
| 4 |
-
|
| 5 |
-
|
| 6 |
|
| 7 |
-
|
|
|
|
|
|
|
| 8 |
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
```bash
|
| 14 |
-
uv venv --python 3.12 .venv
|
| 15 |
-
source .venv/bin/activate
|
| 16 |
-
uv pip install huggingface-hub==0.36.2
|
| 17 |
hf auth login
|
| 18 |
-
hf download devin-lai/MiniMax-H3-Image-mlx --revision v0.4.1 \
|
| 19 |
-
--include 'h3_mlx/*' config.json pyproject.toml LICENSE NOTICE \
|
| 20 |
-
--local-dir h3-runtime
|
| 21 |
-
uv pip install './h3-runtime[native]'
|
| 22 |
-
h3-mlx doctor
|
| 23 |
-
|
| 24 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
| 25 |
-
h3-mlx generate --model models/packed12 \
|
| 26 |
-
--text-encoder models/packed12/text_encoder \
|
| 27 |
-
'An editorial photograph of a cobalt perfume bottle on pale stone' \
|
| 28 |
-
--width 2048 --height 2048 --seed 731 --output outputs/bottle.png
|
| 29 |
```
|
| 30 |
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
```bash
|
| 43 |
-
h3-mlx
|
| 44 |
-
--text-encoder
|
| 45 |
-
|
| 46 |
-
|
| 47 |
```
|
| 48 |
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
|
| 58 |
## Measured exact tuning
|
| 59 |
|
| 60 |
-
|
| 61 |
|
| 62 |
```bash
|
| 63 |
--compile-blocks --eval-every 0 --prefetch-blocks 4 \
|
| 64 |
--compile-vae --vae-batch 4 --kernel metal-qk-exact --tune-matmul
|
| 65 |
```
|
| 66 |
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
|
| 74 |
## Reference-image editing
|
| 75 |
|
| 76 |
```bash
|
| 77 |
h3-mlx generate --model models/packed12 \
|
| 78 |
--text-encoder models/packed12/text_encoder \
|
| 79 |
-
'Change the bottle in <Picture 1> to emerald glass while preserving
|
| 80 |
-
--image bottle.png --seed 42 --output outputs/edit.png
|
| 81 |
```
|
| 82 |
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Installation and inference
|
| 2 |
|
| 3 |
+
Use an Apple silicon Mac, native arm64 Python 3.12 and MLX 0.32.4. For a source
|
| 4 |
+
install, follow the [quick start](README.md#quick-start). The release can also
|
| 5 |
+
be installed directly from Git:
|
| 6 |
|
| 7 |
+
```bash
|
| 8 |
+
uv pip install 'minimax-h3-image-mlx[native] @ git+https://github.com/devin-lai/MiniMax-H3-Image-MLX.git@v0.5.0'
|
| 9 |
+
```
|
| 10 |
|
| 11 |
+
`.[native]` supplies the CPU PyTorch RNG used upstream; the neural operators
|
| 12 |
+
run with MLX. `--rng mlx` avoids PyTorch for text-to-image generation but uses
|
| 13 |
+
a different noise stream. Editing needs the original PyTorch generator for
|
| 14 |
+
posterior and anchor sampling. Use detailed English prompts; prompt expansion
|
| 15 |
+
is not automatic.
|
| 16 |
+
|
| 17 |
+
## Download once, infer locally
|
| 18 |
|
| 19 |
```bash
|
|
|
|
|
|
|
|
|
|
| 20 |
hf auth login
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
h3-mlx download --variant packed12 --model-dir models/packed12
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
```
|
| 23 |
|
| 24 |
+
Request access to the variant and shared repositories first. The downloader
|
| 25 |
+
uses immutable revisions from [model_index.json](h3_mlx/model_index.json),
|
| 26 |
+
fetches only the selected variant and links reusable components from the Hub
|
| 27 |
+
cache. Use a separate assembly directory for each variant/release.
|
| 28 |
|
| 29 |
+
```bash
|
| 30 |
+
h3-mlx download --variant q8 --model-dir models/q8 \
|
| 31 |
+
--text-encoder-path /path/to/existing/text_encoder
|
| 32 |
+
h3-mlx download --variant q4 --model-dir models/q4 \
|
| 33 |
+
--skip-text-encoder --verify
|
| 34 |
+
```
|
| 35 |
|
| 36 |
+
`--verify` rehashes all component files against their SHA-256 manifests.
|
| 37 |
+
`--local-files-only` uses an already populated Hub cache without network access.
|
| 38 |
+
The assembly uses symlinks: keep the Hub cache available, or dereference those
|
| 39 |
+
links when moving weights to another machine. No model files are bundled with
|
| 40 |
+
the Python package. Inference never downloads remote Python or enables
|
| 41 |
+
`trust_remote_code`.
|
| 42 |
|
| 43 |
```bash
|
| 44 |
+
h3-mlx generate --model models/packed12 \
|
| 45 |
+
--text-encoder models/packed12/text_encoder \
|
| 46 |
+
'A detailed editorial photograph of a blue glass bottle on pale stone' \
|
| 47 |
+
--seed 731 --width 2048 --height 2048 --output outputs/bottle.png
|
| 48 |
```
|
| 49 |
|
| 50 |
+
Each PNG is accompanied by a JSON record. Add `--save-trace` to retain the
|
| 51 |
+
conditioning, initial state, six velocities, six Euler states and final latent
|
| 52 |
+
for numerical comparisons. Traces consume additional disk space.
|
| 53 |
+
|
| 54 |
+
## Reuse a resident pipeline
|
| 55 |
+
|
| 56 |
+
A new CLI process reloads weights. To reuse a model across requests:
|
| 57 |
+
|
| 58 |
+
```python
|
| 59 |
+
from h3_mlx.runtime import Pipeline
|
| 60 |
+
|
| 61 |
+
pipe = Pipeline(
|
| 62 |
+
"models/packed12",
|
| 63 |
+
"models/packed12/text_encoder",
|
| 64 |
+
compile_blocks=True,
|
| 65 |
+
eval_every=0,
|
| 66 |
+
prefetch_blocks=4,
|
| 67 |
+
vae_compile=True,
|
| 68 |
+
vae_batch=4,
|
| 69 |
+
kernel="metal-qk-exact",
|
| 70 |
+
tune_matmul=True,
|
| 71 |
+
)
|
| 72 |
+
try:
|
| 73 |
+
for seed in (731, 732, 733):
|
| 74 |
+
image, record = pipe.generate(
|
| 75 |
+
"An editorial photograph of a cobalt perfume bottle on pale stone",
|
| 76 |
+
seed=seed,
|
| 77 |
+
output=f"outputs/bottle-{seed}.png",
|
| 78 |
+
)
|
| 79 |
+
finally:
|
| 80 |
+
pipe.clear()
|
| 81 |
+
```
|
| 82 |
|
| 83 |
+
Conditioning is cached by weights, token presentation, images and precision
|
| 84 |
+
settings. Different seeds can reuse it. Refined conditioning is also cached
|
| 85 |
+
exactly; `--no-refiner-cache` disables that second cache.
|
| 86 |
|
| 87 |
## Measured exact tuning
|
| 88 |
|
| 89 |
+
The historical M5 Pro campaign used these CLI options:
|
| 90 |
|
| 91 |
```bash
|
| 92 |
--compile-blocks --eval-every 0 --prefetch-blocks 4 \
|
| 93 |
--compile-vae --vae-batch 4 --kernel metal-qk-exact --tune-matmul
|
| 94 |
```
|
| 95 |
|
| 96 |
+
The tested 64 GiB machine also used `--wired-gb 32` for packed12 or
|
| 97 |
+
`--wired-gb 42` for BF16. These are process-local MLX limits; the runtime checks
|
| 98 |
+
Metal's recommended working set. They are not universal settings for other
|
| 99 |
+
Macs. The exact Q/K and FC2 kernels restrict dispatch to the tested hardware,
|
| 100 |
+
MLX version and shapes, retaining native fallbacks.
|
| 101 |
+
|
| 102 |
+
The released frozen modulation tables require MLX 0.32.4 and
|
| 103 |
+
`MLX_ENABLE_TF32=0`. Import `h3_mlx` before MLX in embedded applications: the
|
| 104 |
+
package sets that variable and `MLX_CONV_WINOGRAD=0` unless explicitly overridden.
|
| 105 |
+
Overrides are recorded, and incompatible table precision is rejected.
|
| 106 |
+
|
| 107 |
+
The downloader selects packed12/Q8/Q4 precision from release metadata. There
|
| 108 |
+
are no conversion or online-quantization switches. To change precision,
|
| 109 |
+
download another published variant.
|
| 110 |
|
| 111 |
## Reference-image editing
|
| 112 |
|
| 113 |
```bash
|
| 114 |
h3-mlx generate --model models/packed12 \
|
| 115 |
--text-encoder models/packed12/text_encoder \
|
| 116 |
+
'Change the bottle in <Picture 1> to emerald glass while preserving the label' \
|
| 117 |
+
--image outputs/bottle.png --seed 42 --output outputs/edit.png
|
| 118 |
```
|
| 119 |
|
| 120 |
+
Repeat `--image` for ordered references, addressed as `<Picture 1>`,
|
| 121 |
+
`<Picture 2>`, etc. The implementation accepts up to sixteen inputs; the
|
| 122 |
+
recorded editing cohort validates one. This does not establish broad
|
| 123 |
+
multi-reference editing quality.
|
| 124 |
+
|
| 125 |
+
The native minimum generation area is 4,194,304 pixels. Smaller requested
|
| 126 |
+
outputs use an enlarged generation canvas and are resized after decoding.
|
| 127 |
+
For example, the recorded 1024² edit used a 2048² canvas. `--min-generation-area`
|
| 128 |
+
is a development override and changes the workload.
|
| 129 |
+
|
| 130 |
+
## Memory and optional precision tradeoffs
|
| 131 |
+
|
| 132 |
+
| Option | Effect |
|
| 133 |
+
|---|---|
|
| 134 |
+
| `--dit-cache-gb N` | Budget for resident DiT blocks; default 38 GiB, capped against the device working set |
|
| 135 |
+
| `--mlp-chunk N` | Bound the MLP activation chunk; zero uses the complete sequence |
|
| 136 |
+
| `--attention-chunk N` | Query chunking; zero uses one memory-efficient SDPA call |
|
| 137 |
+
| `--offload-after-denoise` | Release DiT before VAE decoding |
|
| 138 |
+
| `--vae-dtype float32` | Use a separate FP32 decoder precision/performance tradeoff |
|
| 139 |
+
| `--experimental-steps 0,2,4` | Explicitly skip heads; changes images and is outside the six-step benchmark |
|
| 140 |
+
|
| 141 |
+
Q8/Q4 reduce core storage and change images. These knobs do not establish a
|
| 142 |
+
minimum supported RAM capacity. JSON distinguishes MLX allocator counters
|
| 143 |
+
from parent physical footprint; process lifetime high water includes earlier
|
| 144 |
+
requests. Those overlapping counters must not be added.
|
| 145 |
+
|
| 146 |
+
## Compare actual outputs
|
| 147 |
+
|
| 148 |
+
Install the `audit` extra, then compare matching prompt/seed/canvas outputs:
|
| 149 |
+
|
| 150 |
+
```bash
|
| 151 |
+
python -m h3_mlx.compare \
|
| 152 |
+
--reference outputs/bf16.png --candidate outputs/q8.png \
|
| 153 |
+
--label BF16 --label Q8 --output outputs/comparison
|
| 154 |
+
```
|
| 155 |
+
|
| 156 |
+
The comparison tool checks input metadata and writes full-frame grids,
|
| 157 |
+
identical native-resolution crops, amplified RGB differences and scores with
|
| 158 |
+
source hashes. RGB SSIM/PSNR measure similarity to a reference trajectory,
|
| 159 |
+
not prompt adherence or overall aesthetic quality.
|
| 160 |
+
|
| 161 |
+
[Benchmarks and reproduction](BENCHMARKS.md) · [Technical notes](docs/TECHNICAL.md)
|
assets/banner.svg
ADDED
|
|
assets/benchmarks.svg
ADDED
|
|
{reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/comparison.json
RENAMED
|
File without changes
|
benchmarks/data/bf16/context.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory",
|
| 3 |
+
"os": "macOS 27.0.1 arm64",
|
| 4 |
+
"software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment",
|
| 5 |
+
"environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded",
|
| 6 |
+
"timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.",
|
| 7 |
+
"memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.",
|
| 8 |
+
"cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.",
|
| 9 |
+
"execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population."
|
| 10 |
+
}
|
{reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/quality-audit.json
RENAMED
|
File without changes
|
{reports/optimization-r3/qk-deployment → benchmarks/data/bf16}/summary.json
RENAMED
|
File without changes
|
comparisons/product-cuda/metrics.json → benchmarks/data/cuda-product.json
RENAMED
|
File without changes
|
{reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/comparison.json
RENAMED
|
File without changes
|
benchmarks/data/packed12/context.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"hardware": "Apple M5 Pro, 16 GPU cores, 64 GiB unified memory",
|
| 3 |
+
"os": "macOS 27.0.1 arm64",
|
| 4 |
+
"software": "MLX/MLX Metal 0.32.4; Python 3.12.14; strict precision environment",
|
| 5 |
+
"environment": "AC Automatic power; MLX_ENABLE_TF32=0, MLX_CONV_WINOGRAD=0; user background apps unchanged; no thermal warning recorded",
|
| 6 |
+
"timing_boundary": "Pipeline.generate total_s: warm text cache, original CPU RNG, six heads, decode, trace and PNG save. Excludes interpreter startup and external quality scoring.",
|
| 7 |
+
"memory_metric": "Parent macOS physical footprint sampled at 100ms, current-interval maximum; includes Metal, excludes compiler XPC. MLX allocator separately; do not sum. Both compiled variants may be resident.",
|
| 8 |
+
"cache_state": "Resident shared native weights and VAE; shape warmup for each variant. Exact conditioning caches warmed outside timed population.",
|
| 9 |
+
"execution_policy": "Single GPU benchmark process; per-case repeats alternate control/candidate then candidate/control then control/candidate. Warmup and first-load excluded from timed population."
|
| 10 |
+
}
|
{reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/quality-audit.json
RENAMED
|
File without changes
|
{reports/optimization-r3/compact-deployment → benchmarks/data/packed12}/summary.json
RENAMED
|
File without changes
|
reports/tradeoffs.json → benchmarks/data/precision.json
RENAMED
|
@@ -11,30 +11,6 @@
|
|
| 11 |
"psnr_db": null,
|
| 12 |
"ssim_rgb": 1.0
|
| 13 |
},
|
| 14 |
-
{
|
| 15 |
-
"profile": "tuned",
|
| 16 |
-
"passes": 6,
|
| 17 |
-
"denoise_s": 65.01547354180366,
|
| 18 |
-
"fresh_end_to_end_s": null,
|
| 19 |
-
"peak_mlx_gib": 38.33396276086569,
|
| 20 |
-
"pixel_identical": false,
|
| 21 |
-
"mae_8bit": 2.3392630418141684,
|
| 22 |
-
"max_error_8bit": 250,
|
| 23 |
-
"psnr_db": 30.55678913191977,
|
| 24 |
-
"ssim_rgb": 0.9757456740909974
|
| 25 |
-
},
|
| 26 |
-
{
|
| 27 |
-
"profile": "fused",
|
| 28 |
-
"passes": 6,
|
| 29 |
-
"denoise_s": 63.474478498799726,
|
| 30 |
-
"fresh_end_to_end_s": 66.34713304112665,
|
| 31 |
-
"peak_mlx_gib": 38.306039180606604,
|
| 32 |
-
"pixel_identical": false,
|
| 33 |
-
"mae_8bit": 2.2516628901163735,
|
| 34 |
-
"max_error_8bit": 255,
|
| 35 |
-
"psnr_db": 30.86484447444775,
|
| 36 |
-
"ssim_rgb": 0.9768710943911784
|
| 37 |
-
},
|
| 38 |
{
|
| 39 |
"profile": "q8",
|
| 40 |
"passes": 6,
|
|
@@ -58,17 +34,5 @@
|
|
| 58 |
"max_error_8bit": 255,
|
| 59 |
"psnr_db": 15.417449405584902,
|
| 60 |
"ssim_rgb": 0.7799346096667573
|
| 61 |
-
},
|
| 62 |
-
{
|
| 63 |
-
"profile": "preview",
|
| 64 |
-
"passes": 3,
|
| 65 |
-
"denoise_s": 32.295400499831885,
|
| 66 |
-
"fresh_end_to_end_s": null,
|
| 67 |
-
"peak_mlx_gib": 38.32508214563131,
|
| 68 |
-
"pixel_identical": false,
|
| 69 |
-
"mae_8bit": 25.68697961171468,
|
| 70 |
-
"max_error_8bit": 255,
|
| 71 |
-
"psnr_db": 15.70646468928225,
|
| 72 |
-
"ssim_rgb": 0.6780853944783064
|
| 73 |
}
|
| 74 |
]
|
|
|
|
| 11 |
"psnr_db": null,
|
| 12 |
"ssim_rgb": 1.0
|
| 13 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
{
|
| 15 |
"profile": "q8",
|
| 16 |
"passes": 6,
|
|
|
|
| 34 |
"max_error_8bit": 255,
|
| 35 |
"psnr_db": 15.417449405584902,
|
| 36 |
"ssim_rgb": 0.7799346096667573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
}
|
| 38 |
]
|
benchmarks/data/provenance.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"note": "Unmodified historical measurement records, with inference-only context extracts. No model conversion code or checkpoint tensors are included.",
|
| 3 |
+
"historical_release": "https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx/tree/v0.4.1",
|
| 4 |
+
"records": [
|
| 5 |
+
{
|
| 6 |
+
"published_path": "benchmarks/data/bf16/comparison.json",
|
| 7 |
+
"historical_path": "reports/optimization-r3/qk-deployment/comparison.json",
|
| 8 |
+
"sha256": "346409df254b31a692f4d031c1363efd35ba9638db494e4bf5f13afe3b6d31ad"
|
| 9 |
+
},
|
| 10 |
+
{
|
| 11 |
+
"published_path": "benchmarks/data/bf16/quality-audit.json",
|
| 12 |
+
"historical_path": "reports/optimization-r3/qk-deployment/quality-audit.json",
|
| 13 |
+
"sha256": "3d242d63e283fa6dc645adee2c3a1dfda59b5d9ae4ac56cf04e15a5486816a2e"
|
| 14 |
+
},
|
| 15 |
+
{
|
| 16 |
+
"published_path": "benchmarks/data/bf16/summary.json",
|
| 17 |
+
"historical_path": "reports/optimization-r3/qk-deployment/summary.json",
|
| 18 |
+
"sha256": "4dcff0c7944ac8d80a9c9961a1a90507e465ee1b610f86441a45804e02cc3cbe"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"published_path": "benchmarks/data/packed12/comparison.json",
|
| 22 |
+
"historical_path": "reports/optimization-r3/compact-deployment/comparison.json",
|
| 23 |
+
"sha256": "f04c312015382fdfd7cd021df6168d7729344594ee7c4ac2143b18f4b503c66c"
|
| 24 |
+
},
|
| 25 |
+
{
|
| 26 |
+
"published_path": "benchmarks/data/packed12/quality-audit.json",
|
| 27 |
+
"historical_path": "reports/optimization-r3/compact-deployment/quality-audit.json",
|
| 28 |
+
"sha256": "57ae4aef9579058528381de211636fe9ff02ad9b2f793f65b7b217e91c6e7f16"
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"published_path": "benchmarks/data/packed12/summary.json",
|
| 32 |
+
"historical_path": "reports/optimization-r3/compact-deployment/summary.json",
|
| 33 |
+
"sha256": "020ad62fe1e4ad92331b2e86fb63caa18462adad65e12a86ebadf5b751fa607d"
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"published_path": "benchmarks/data/cuda-product.json",
|
| 37 |
+
"historical_path": "comparisons/product-cuda/metrics.json",
|
| 38 |
+
"sha256": "fe21ecba083569a93eb47c29e759029db0aadffbced7da251471cf4bf35149d1"
|
| 39 |
+
}
|
| 40 |
+
]
|
| 41 |
+
}
|
comparisons/README.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
# Image comparison gallery
|
| 2 |
-
|
| 3 |
-
All comparison pictures are actual recorded inference outputs. Each stack
|
| 4 |
-
contains labeled full frames, identical 1:1 crops and absolute RGB differences
|
| 5 |
-
amplified eight times. Metrics apply to full-resolution images, not previews.
|
| 6 |
-
|
| 7 |
-
| Comparison | Viewer | Image stack | Native detail crops |
|
| 8 |
-
|---|---|---|---|
|
| 9 |
-
| 2K product: BF16 tuning, Q8, Q4, three-pass preview | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/details.png) |
|
| 10 |
-
| 2K portrait: native BF16 vs Q8 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/details.png) |
|
| 11 |
-
| Same final latent: VAE batches 1, 4, 8, 16 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/details.png) |
|
| 12 |
-
| Saved CUDA BF16 vs MLX, product | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/details.png) |
|
| 13 |
-
| Saved CUDA BF16 vs MLX, portrait | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/details.png) |
|
| 14 |
-
| Saved CUDA BF16 vs MLX, native 4K | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/details.png) |
|
| 15 |
-
|
| 16 |
-
[The editing demonstration](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/edit-example/before-after.png) places the input
|
| 17 |
-
reference beside the native MLX emerald-glass edit. It is a functional example,
|
| 18 |
-
not a pixel-similarity comparison.
|
| 19 |
-
|
| 20 |
-
The CUDA comparison uses the original saved RTX 5090 BF16 run with upstream
|
| 21 |
-
`quality=lossless`. Its hardware and decoder quality setting differ from the
|
| 22 |
-
MLX native tile recipe. It provides visual context; it does not isolate port
|
| 23 |
-
error or establish a same-hardware speedup.
|
| 24 |
-
|
| 25 |
-
The default MLX BF16 output is the reference for the quantization/tuning
|
| 26 |
-
comparisons. Q8, Q4, fused kernels and fewer steps change its pixels. Read the
|
| 27 |
-
[experiment report](../reports/RESULTS.md) before selecting a profile.
|
| 28 |
-
|
| 29 |
-
Full-resolution Mac outputs and trace tensors are retained locally under
|
| 30 |
-
`outputs/suite/` (ignored by Git). Source hashes, configuration, memory and
|
| 31 |
-
timing records are exported under `reports/inference/` and each gallery's
|
| 32 |
-
`metrics.json`. Original model weights are not included.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/cuda-reference/native-4k.json
DELETED
|
@@ -1,63 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition.",
|
| 3 |
-
"seed": 802,
|
| 4 |
-
"size": [
|
| 5 |
-
4096,
|
| 6 |
-
4096
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
4096,
|
| 10 |
-
4096
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"sigmas": [
|
| 14 |
-
1.0,
|
| 15 |
-
0.9675236940383911,
|
| 16 |
-
0.8875485062599182,
|
| 17 |
-
0.75,
|
| 18 |
-
0.5327739119529724,
|
| 19 |
-
0.23200887441635132,
|
| 20 |
-
0.0
|
| 21 |
-
],
|
| 22 |
-
"steps": [
|
| 23 |
-
0,
|
| 24 |
-
1,
|
| 25 |
-
2,
|
| 26 |
-
3,
|
| 27 |
-
4,
|
| 28 |
-
5
|
| 29 |
-
],
|
| 30 |
-
"output": "comparisons/cuda-reference/native-4k.png",
|
| 31 |
-
"timings": {
|
| 32 |
-
"total_s": 32.5837
|
| 33 |
-
},
|
| 34 |
-
"environment": {
|
| 35 |
-
"device": "RTX 5090",
|
| 36 |
-
"backend": "SGLang CUDA",
|
| 37 |
-
"quality": "lossless"
|
| 38 |
-
},
|
| 39 |
-
"source_record": {
|
| 40 |
-
"label": "single-bf16-stream",
|
| 41 |
-
"case": "native-4k",
|
| 42 |
-
"trial": 1,
|
| 43 |
-
"wall_seconds": 32.5837,
|
| 44 |
-
"image_bytes": 50339652,
|
| 45 |
-
"sha256": "7fd381c76d07a3f5a5e3f1982d454d31c56101f9af22c70900aab983e8465bee",
|
| 46 |
-
"size": "4096x4096",
|
| 47 |
-
"seed": 802,
|
| 48 |
-
"task": "text-to-image",
|
| 49 |
-
"quality": "lossless",
|
| 50 |
-
"output_compression": 1,
|
| 51 |
-
"attention_override": null,
|
| 52 |
-
"h3_opt": null,
|
| 53 |
-
"prompt": "An overhead editorial photograph of an oceanographer's desk: a coiled orange rope, silver calipers, a pale-blue sea chart with fine contour lines, a black-and-white photograph of a lighthouse, a few tiny shells and a weathered brass compass. On a pale notecard write 'NORTH STAR' in neat bold navy capitals. One shaft of late afternoon sunlight, precise paper fibers and metal scratches, realistic soft shadows, a carefully balanced square composition."
|
| 54 |
-
},
|
| 55 |
-
"reference_images": [],
|
| 56 |
-
"reference_sha256": [],
|
| 57 |
-
"dit": {
|
| 58 |
-
"precision": "BF16"
|
| 59 |
-
},
|
| 60 |
-
"vae": {
|
| 61 |
-
"quality": "lossless"
|
| 62 |
-
}
|
| 63 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/cuda-reference/portrait.json
DELETED
|
@@ -1,63 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering.",
|
| 3 |
-
"seed": 1234,
|
| 4 |
-
"size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
2048,
|
| 10 |
-
2048
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"sigmas": [
|
| 14 |
-
1.0,
|
| 15 |
-
0.9675236940383911,
|
| 16 |
-
0.8875485062599182,
|
| 17 |
-
0.75,
|
| 18 |
-
0.5327739119529724,
|
| 19 |
-
0.23200887441635132,
|
| 20 |
-
0.0
|
| 21 |
-
],
|
| 22 |
-
"steps": [
|
| 23 |
-
0,
|
| 24 |
-
1,
|
| 25 |
-
2,
|
| 26 |
-
3,
|
| 27 |
-
4,
|
| 28 |
-
5
|
| 29 |
-
],
|
| 30 |
-
"output": "comparisons/cuda-reference/portrait.png",
|
| 31 |
-
"timings": {
|
| 32 |
-
"total_s": 6.7668
|
| 33 |
-
},
|
| 34 |
-
"environment": {
|
| 35 |
-
"device": "RTX 5090",
|
| 36 |
-
"backend": "SGLang CUDA",
|
| 37 |
-
"quality": "lossless"
|
| 38 |
-
},
|
| 39 |
-
"source_record": {
|
| 40 |
-
"label": "single-bf16-stream",
|
| 41 |
-
"case": "portrait",
|
| 42 |
-
"trial": 1,
|
| 43 |
-
"wall_seconds": 6.7668,
|
| 44 |
-
"image_bytes": 12585988,
|
| 45 |
-
"sha256": "a8e360798a511a2b74f7ee8679699d253282afcf01423f6496f504a2f11c7aad",
|
| 46 |
-
"size": "2048x2048",
|
| 47 |
-
"seed": 1234,
|
| 48 |
-
"task": "text-to-image",
|
| 49 |
-
"quality": "lossless",
|
| 50 |
-
"output_compression": 1,
|
| 51 |
-
"attention_override": null,
|
| 52 |
-
"h3_opt": null,
|
| 53 |
-
"prompt": "An intimate natural-light portrait of an elderly woman in a botanical conservatory, reading a small red clothbound book. Warm brown skin with visible freckles and fine wrinkles, silver curls lit from behind, intricate indigo knit cardigan. Soft fern fronds out of focus in the foreground; detailed hands and realistic skin texture. A candid 85mm color photograph with gentle shadows and no lettering."
|
| 54 |
-
},
|
| 55 |
-
"reference_images": [],
|
| 56 |
-
"reference_sha256": [],
|
| 57 |
-
"dit": {
|
| 58 |
-
"precision": "BF16"
|
| 59 |
-
},
|
| 60 |
-
"vae": {
|
| 61 |
-
"quality": "lossless"
|
| 62 |
-
}
|
| 63 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/cuda-reference/product.json
DELETED
|
@@ -1,63 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.",
|
| 3 |
-
"seed": 731,
|
| 4 |
-
"size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
2048,
|
| 10 |
-
2048
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"sigmas": [
|
| 14 |
-
1.0,
|
| 15 |
-
0.9675236940383911,
|
| 16 |
-
0.8875485062599182,
|
| 17 |
-
0.75,
|
| 18 |
-
0.5327739119529724,
|
| 19 |
-
0.23200887441635132,
|
| 20 |
-
0.0
|
| 21 |
-
],
|
| 22 |
-
"steps": [
|
| 23 |
-
0,
|
| 24 |
-
1,
|
| 25 |
-
2,
|
| 26 |
-
3,
|
| 27 |
-
4,
|
| 28 |
-
5
|
| 29 |
-
],
|
| 30 |
-
"output": "comparisons/cuda-reference/product.png",
|
| 31 |
-
"timings": {
|
| 32 |
-
"total_s": 6.7003
|
| 33 |
-
},
|
| 34 |
-
"environment": {
|
| 35 |
-
"device": "RTX 5090",
|
| 36 |
-
"backend": "SGLang CUDA",
|
| 37 |
-
"quality": "lossless"
|
| 38 |
-
},
|
| 39 |
-
"source_record": {
|
| 40 |
-
"label": "single-bf16-stream",
|
| 41 |
-
"case": "product",
|
| 42 |
-
"trial": 1,
|
| 43 |
-
"wall_seconds": 6.7003,
|
| 44 |
-
"image_bytes": 12585988,
|
| 45 |
-
"sha256": "66a49c7b9d281bf7a4b22356b625bdbee8e92e02b8d8d2031cc24f73601ad531",
|
| 46 |
-
"size": "2048x2048",
|
| 47 |
-
"seed": 731,
|
| 48 |
-
"task": "text-to-image",
|
| 49 |
-
"quality": "lossless",
|
| 50 |
-
"output_compression": 1,
|
| 51 |
-
"attention_override": null,
|
| 52 |
-
"h3_opt": null,
|
| 53 |
-
"prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text."
|
| 54 |
-
},
|
| 55 |
-
"reference_images": [],
|
| 56 |
-
"reference_sha256": [],
|
| 57 |
-
"dit": {
|
| 58 |
-
"precision": "BF16"
|
| 59 |
-
},
|
| 60 |
-
"vae": {
|
| 61 |
-
"quality": "lossless"
|
| 62 |
-
}
|
| 63 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/edit-example/record.json
DELETED
|
@@ -1,120 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "Change the cobalt blue glass perfume bottle in <Picture 1> to deep emerald green glass. Preserve the pale engraved NIGHT TIDE label, exact lettering, bottle shape, cap, stone backdrop, composition, lighting and shadows. The glass should be visibly green with realistic emerald highlights and reflections.",
|
| 3 |
-
"seed": 42,
|
| 4 |
-
"size": [
|
| 5 |
-
1024,
|
| 6 |
-
1024
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
2048,
|
| 10 |
-
2048
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"sigmas": [
|
| 14 |
-
1.0,
|
| 15 |
-
0.9675236940383911,
|
| 16 |
-
0.8875485062599182,
|
| 17 |
-
0.75,
|
| 18 |
-
0.5327739119529724,
|
| 19 |
-
0.23200887441635132,
|
| 20 |
-
0.0
|
| 21 |
-
],
|
| 22 |
-
"steps": [
|
| 23 |
-
0,
|
| 24 |
-
1,
|
| 25 |
-
2,
|
| 26 |
-
3,
|
| 27 |
-
4,
|
| 28 |
-
5
|
| 29 |
-
],
|
| 30 |
-
"dit": {
|
| 31 |
-
"cache_dir": "cache",
|
| 32 |
-
"cache_gb": 38,
|
| 33 |
-
"bits": null,
|
| 34 |
-
"group_size": 64,
|
| 35 |
-
"mlp_chunk": 0,
|
| 36 |
-
"query_chunk": 0,
|
| 37 |
-
"kernel": "native",
|
| 38 |
-
"threads": 256,
|
| 39 |
-
"quantized_path": null
|
| 40 |
-
},
|
| 41 |
-
"encoder": {
|
| 42 |
-
"cache_dir": "cache",
|
| 43 |
-
"bits": null,
|
| 44 |
-
"group_size": 64,
|
| 45 |
-
"query_chunk": 0
|
| 46 |
-
},
|
| 47 |
-
"vae": {
|
| 48 |
-
"tile_batch": 1,
|
| 49 |
-
"dtype": "bfloat16"
|
| 50 |
-
},
|
| 51 |
-
"environment": {
|
| 52 |
-
"platform": "macOS-27.0.1-arm64-arm-64bit",
|
| 53 |
-
"machine": "arm64",
|
| 54 |
-
"metal": {
|
| 55 |
-
"device_name": "Apple M5 Pro",
|
| 56 |
-
"max_recommended_working_set_size": 55662788608,
|
| 57 |
-
"memory_size": 68719476736,
|
| 58 |
-
"architecture": "applegpu_g17s",
|
| 59 |
-
"max_buffer_length": 41747087360,
|
| 60 |
-
"resource_limit": 499000
|
| 61 |
-
},
|
| 62 |
-
"versions": {
|
| 63 |
-
"mlx": "0.32.4",
|
| 64 |
-
"mlx-metal": "0.32.4",
|
| 65 |
-
"numpy": "2.5.4",
|
| 66 |
-
"safetensors": "0.8.0",
|
| 67 |
-
"transformers": "4.57.6",
|
| 68 |
-
"torch": "2.15.0",
|
| 69 |
-
"Pillow": "13.0.0",
|
| 70 |
-
"scikit-image": "0.26.0"
|
| 71 |
-
},
|
| 72 |
-
"precision_environment": {
|
| 73 |
-
"MLX_ENABLE_TF32": "0",
|
| 74 |
-
"MLX_CONV_WINOGRAD": "0"
|
| 75 |
-
}
|
| 76 |
-
},
|
| 77 |
-
"timings": {
|
| 78 |
-
"encode_s": 28.711510707857087,
|
| 79 |
-
"dit_setup_s": 0.3510471251793206,
|
| 80 |
-
"step_0_s": 32.27381366607733,
|
| 81 |
-
"step_1_s": 18.178750790888444,
|
| 82 |
-
"step_2_s": 17.952110541053116,
|
| 83 |
-
"step_3_s": 17.822316124802455,
|
| 84 |
-
"step_4_s": 17.744772125035524,
|
| 85 |
-
"step_5_s": 17.770629958016798,
|
| 86 |
-
"decode_s": 4.267031416995451,
|
| 87 |
-
"total_s": 157.7393269999884
|
| 88 |
-
},
|
| 89 |
-
"reference_images": [
|
| 90 |
-
"experiments/reference-bottle.png"
|
| 91 |
-
],
|
| 92 |
-
"reference_sha256": [
|
| 93 |
-
"96d23a5fb97d8dbff46990ec6c13a8caf8573f2b4d41820c9cae0efc3d0b872c"
|
| 94 |
-
],
|
| 95 |
-
"conditioning_cache_hit": false,
|
| 96 |
-
"dit_effective": {
|
| 97 |
-
"bits": null,
|
| 98 |
-
"group_size": 64,
|
| 99 |
-
"cache_limit_gb": 38.0,
|
| 100 |
-
"checkpoint_fingerprint": "d92ff1655d366a65a0964dc770fb50a3db623de2f490371e82776a10e2d5d900"
|
| 101 |
-
},
|
| 102 |
-
"dit_was_resident": false,
|
| 103 |
-
"dit_metrics": {
|
| 104 |
-
"block_load_s": 16.658172828843817,
|
| 105 |
-
"block_compute_s": 105.10201758518815,
|
| 106 |
-
"block_loads": 52
|
| 107 |
-
},
|
| 108 |
-
"memory_before_decode": {
|
| 109 |
-
"active_gb": 36.05878337472677,
|
| 110 |
-
"peak_gb": 37.71541484631598,
|
| 111 |
-
"cache_gb": 0.9982056273147464
|
| 112 |
-
},
|
| 113 |
-
"memory": {
|
| 114 |
-
"active_gb": 36.81037116795778,
|
| 115 |
-
"peak_gb": 37.71541484631598,
|
| 116 |
-
"cache_gb": 0.31941457837820053
|
| 117 |
-
},
|
| 118 |
-
"output": "outputs/suite/edit/native-0.png",
|
| 119 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304"
|
| 120 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/native-4k-cuda/metrics.json
DELETED
|
@@ -1,75 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Cross-backend comparison: hardware and VAE quality settings differ. Timings do not isolate a port speedup.",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/native-4k.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
4096,
|
| 6 |
-
4096
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
1792,
|
| 10 |
-
1792,
|
| 11 |
-
2304,
|
| 12 |
-
2304
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "CUDA BF16 / upstream lossless quality",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/cuda-reference/native-4k.png",
|
| 24 |
-
"png_sha256": "7fd381c76d07a3f5a5e3f1982d454d31c56101f9af22c70900aab983e8465bee",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"total_s": 32.5837
|
| 32 |
-
},
|
| 33 |
-
"steps": [
|
| 34 |
-
0,
|
| 35 |
-
1,
|
| 36 |
-
2,
|
| 37 |
-
3,
|
| 38 |
-
4,
|
| 39 |
-
5
|
| 40 |
-
],
|
| 41 |
-
"timing_scope": "Fresh end-to-end request"
|
| 42 |
-
},
|
| 43 |
-
{
|
| 44 |
-
"label": "MLX BF16 / native tile recipe",
|
| 45 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/native-4k/native-0.png",
|
| 46 |
-
"png_sha256": "9f5b1f2a4d1ef45900e8afd7bf132e43f437c0ded73a79aa6992fe0a968de3c6",
|
| 47 |
-
"pixel_identical": false,
|
| 48 |
-
"mae_8bit": 10.43891042470932,
|
| 49 |
-
"max_error_8bit": 255,
|
| 50 |
-
"psnr_db": 21.472787391510856,
|
| 51 |
-
"ssim_rgb": 0.8437432938484267,
|
| 52 |
-
"timings": {
|
| 53 |
-
"encode_s": 39.3051441248972,
|
| 54 |
-
"dit_setup_s": 1.2301222910173237,
|
| 55 |
-
"step_0_s": 71.125005583046,
|
| 56 |
-
"step_1_s": 65.16590758296661,
|
| 57 |
-
"step_2_s": 65.27136183297262,
|
| 58 |
-
"step_3_s": 65.02919550007209,
|
| 59 |
-
"step_4_s": 65.43438254203647,
|
| 60 |
-
"step_5_s": 65.73626679205336,
|
| 61 |
-
"decode_s": 12.110308207804337
|
| 62 |
-
},
|
| 63 |
-
"steps": [
|
| 64 |
-
0,
|
| 65 |
-
1,
|
| 66 |
-
2,
|
| 67 |
-
3,
|
| 68 |
-
4,
|
| 69 |
-
5
|
| 70 |
-
],
|
| 71 |
-
"timing_scope": "Saved DiT stages plus separately timed corrected decoder; no fresh end-to-end total"
|
| 72 |
-
}
|
| 73 |
-
],
|
| 74 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 75 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
1024,
|
| 6 |
-
1024
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
256,
|
| 10 |
-
256,
|
| 11 |
-
768,
|
| 12 |
-
768
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/control-validation-0.png",
|
| 24 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.0944433338008821,
|
| 32 |
-
"dit_setup_s": 0.018301625037565827,
|
| 33 |
-
"step_0_s": 16.044049208052456,
|
| 34 |
-
"step_1_s": 16.64705704106018,
|
| 35 |
-
"step_2_s": 16.798973750090227,
|
| 36 |
-
"step_3_s": 16.80766825005412,
|
| 37 |
-
"step_4_s": 16.82632016693242,
|
| 38 |
-
"step_5_s": 16.788526582997292,
|
| 39 |
-
"decode_s": 1.7753529578913003,
|
| 40 |
-
"total_s": 104.33122787508182
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/edit/qk-fc2-native-norm-validation-0.png",
|
| 55 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.09382429183460772,
|
| 63 |
-
"dit_setup_s": 0.005678124958649278,
|
| 64 |
-
"step_0_s": 15.517480874899775,
|
| 65 |
-
"step_1_s": 15.885630707954988,
|
| 66 |
-
"step_2_s": 16.043985707918182,
|
| 67 |
-
"step_3_s": 16.065357791027054,
|
| 68 |
-
"step_4_s": 16.00308766681701,
|
| 69 |
-
"step_5_s": 16.0314345411025,
|
| 70 |
-
"decode_s": 1.806969250086695,
|
| 71 |
-
"total_s": 99.78968337504193
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/control-validation-0.png",
|
| 24 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08503512479364872,
|
| 32 |
-
"dit_setup_s": 0.0054474580101668835,
|
| 33 |
-
"step_0_s": 10.586685917107388,
|
| 34 |
-
"step_1_s": 10.475943374913186,
|
| 35 |
-
"step_2_s": 10.536071791080758,
|
| 36 |
-
"step_3_s": 10.609299124917015,
|
| 37 |
-
"step_4_s": 10.648755833040923,
|
| 38 |
-
"step_5_s": 10.659710499923676,
|
| 39 |
-
"decode_s": 1.892699166899547,
|
| 40 |
-
"total_s": 65.62054104101844
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/holdout-detail/qk-fc2-native-norm-validation-0.png",
|
| 55 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08309245808050036,
|
| 63 |
-
"dit_setup_s": 0.0016110001597553492,
|
| 64 |
-
"step_0_s": 10.02036679093726,
|
| 65 |
-
"step_1_s": 10.222182292025536,
|
| 66 |
-
"step_2_s": 10.317761083133519,
|
| 67 |
-
"step_3_s": 10.258633374935016,
|
| 68 |
-
"step_4_s": 10.214116165880114,
|
| 69 |
-
"step_5_s": 10.211255375063047,
|
| 70 |
-
"decode_s": 1.9069041248876601,
|
| 71 |
-
"total_s": 63.36157112498768
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/control-timed-0.png",
|
| 24 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08196645905263722,
|
| 32 |
-
"dit_setup_s": 0.0020813329610973597,
|
| 33 |
-
"step_0_s": 10.599762792000547,
|
| 34 |
-
"step_1_s": 10.859696834115312,
|
| 35 |
-
"step_2_s": 10.841980583034456,
|
| 36 |
-
"step_3_s": 10.818649291992188,
|
| 37 |
-
"step_4_s": 10.812689499929547,
|
| 38 |
-
"step_5_s": 10.815967541886494,
|
| 39 |
-
"decode_s": 1.8206247920170426,
|
| 40 |
-
"total_s": 66.77446975000203
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/portrait/qk-fc2-native-norm-timed-0.png",
|
| 55 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08218058408237994,
|
| 63 |
-
"dit_setup_s": 0.0021450419444590807,
|
| 64 |
-
"step_0_s": 10.038613541051745,
|
| 65 |
-
"step_1_s": 10.278275415999815,
|
| 66 |
-
"step_2_s": 10.234170750016347,
|
| 67 |
-
"step_3_s": 10.295444874791428,
|
| 68 |
-
"step_4_s": 10.20847308402881,
|
| 69 |
-
"step_5_s": 10.264521708944812,
|
| 70 |
-
"decode_s": 1.9153460001107305,
|
| 71 |
-
"total_s": 63.443048041081056
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-compact/product/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/control-timed-0.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08302924991585314,
|
| 32 |
-
"dit_setup_s": 0.0021304169204086065,
|
| 33 |
-
"step_0_s": 10.524454500060529,
|
| 34 |
-
"step_1_s": 10.518413708079606,
|
| 35 |
-
"step_2_s": 10.792438166914508,
|
| 36 |
-
"step_3_s": 10.938075749902055,
|
| 37 |
-
"step_4_s": 10.803379165939987,
|
| 38 |
-
"step_5_s": 10.852768250042573,
|
| 39 |
-
"decode_s": 1.939876874908805,
|
| 40 |
-
"total_s": 66.73659237497486
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-compact/product/qk-fc2-native-norm-timed-0.png",
|
| 55 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08724224986508489,
|
| 63 |
-
"dit_setup_s": 0.0015401248820126057,
|
| 64 |
-
"step_0_s": 10.171907834010199,
|
| 65 |
-
"step_1_s": 10.420595958130434,
|
| 66 |
-
"step_2_s": 10.435337207978591,
|
| 67 |
-
"step_3_s": 10.569814499933273,
|
| 68 |
-
"step_4_s": 10.503622999880463,
|
| 69 |
-
"step_5_s": 10.588133125100285,
|
| 70 |
-
"decode_s": 1.9536084169521928,
|
| 71 |
-
"total_s": 64.8621540828608
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-deployment/edit/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
1024,
|
| 6 |
-
1024
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
256,
|
| 10 |
-
256,
|
| 11 |
-
768,
|
| 12 |
-
768
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/control-validation-0.png",
|
| 24 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.09496295801363885,
|
| 32 |
-
"dit_setup_s": 0.018790250178426504,
|
| 33 |
-
"step_0_s": 16.496046874905005,
|
| 34 |
-
"step_1_s": 17.588394791819155,
|
| 35 |
-
"step_2_s": 17.459331332938746,
|
| 36 |
-
"step_3_s": 17.59560624998994,
|
| 37 |
-
"step_4_s": 17.775859917048365,
|
| 38 |
-
"step_5_s": 17.98469966603443,
|
| 39 |
-
"decode_s": 1.7778672080021352,
|
| 40 |
-
"total_s": 109.37410999997519
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/edit/qk-fc2-validation-0.png",
|
| 55 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.0946252909488976,
|
| 63 |
-
"dit_setup_s": 0.005771707976236939,
|
| 64 |
-
"step_0_s": 15.780252208001912,
|
| 65 |
-
"step_1_s": 16.24150708410889,
|
| 66 |
-
"step_2_s": 16.135149333858863,
|
| 67 |
-
"step_3_s": 16.180468250066042,
|
| 68 |
-
"step_4_s": 16.37875320808962,
|
| 69 |
-
"step_5_s": 16.147045334102586,
|
| 70 |
-
"decode_s": 1.7784138328861445,
|
| 71 |
-
"total_s": 100.89215162489563
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/control-validation-0.png",
|
| 24 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08760958397760987,
|
| 32 |
-
"dit_setup_s": 0.005459541920572519,
|
| 33 |
-
"step_0_s": 10.42564162495546,
|
| 34 |
-
"step_1_s": 10.77243841602467,
|
| 35 |
-
"step_2_s": 10.619838000042364,
|
| 36 |
-
"step_3_s": 10.630091832950711,
|
| 37 |
-
"step_4_s": 10.930967458989471,
|
| 38 |
-
"step_5_s": 10.638426082907245,
|
| 39 |
-
"decode_s": 1.9144813329912722,
|
| 40 |
-
"total_s": 66.1562814170029
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/holdout-detail/qk-fc2-validation-0.png",
|
| 55 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08267062506638467,
|
| 63 |
-
"dit_setup_s": 0.002635624958202243,
|
| 64 |
-
"step_0_s": 9.876321790972725,
|
| 65 |
-
"step_1_s": 9.873472125036642,
|
| 66 |
-
"step_2_s": 9.758229917148128,
|
| 67 |
-
"step_3_s": 9.659938625060022,
|
| 68 |
-
"step_4_s": 9.70524508296512,
|
| 69 |
-
"step_5_s": 9.690499417018145,
|
| 70 |
-
"decode_s": 1.8380374158732593,
|
| 71 |
-
"total_s": 60.60736404103227
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-deployment/portrait/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/control-timed-0.png",
|
| 24 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08375041605904698,
|
| 32 |
-
"dit_setup_s": 0.0014606250915676355,
|
| 33 |
-
"step_0_s": 10.343989124987274,
|
| 34 |
-
"step_1_s": 10.484140957938507,
|
| 35 |
-
"step_2_s": 10.492746208095923,
|
| 36 |
-
"step_3_s": 10.494633583119139,
|
| 37 |
-
"step_4_s": 10.36117170797661,
|
| 38 |
-
"step_5_s": 10.398765416117385,
|
| 39 |
-
"decode_s": 1.8557565829250962,
|
| 40 |
-
"total_s": 64.64417616720311
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/portrait/qk-fc2-timed-0.png",
|
| 55 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08595199999399483,
|
| 63 |
-
"dit_setup_s": 0.0023597090039402246,
|
| 64 |
-
"step_0_s": 9.701315457932651,
|
| 65 |
-
"step_1_s": 9.964592250064015,
|
| 66 |
-
"step_2_s": 9.679471249924973,
|
| 67 |
-
"step_3_s": 9.77542870794423,
|
| 68 |
-
"step_4_s": 9.722767374943942,
|
| 69 |
-
"step_5_s": 9.726279291789979,
|
| 70 |
-
"decode_s": 1.84116454096511,
|
| 71 |
-
"total_s": 60.62431841692887
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-deployment/product/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/control-timed-0.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08194691711105406,
|
| 32 |
-
"dit_setup_s": 0.001686332980170846,
|
| 33 |
-
"step_0_s": 10.51596958306618,
|
| 34 |
-
"step_1_s": 11.313274249900132,
|
| 35 |
-
"step_2_s": 11.170203125104308,
|
| 36 |
-
"step_3_s": 11.17257241695188,
|
| 37 |
-
"step_4_s": 11.15542795881629,
|
| 38 |
-
"step_5_s": 11.049065208993852,
|
| 39 |
-
"decode_s": 1.9435918340459466,
|
| 40 |
-
"total_s": 68.77809108304791
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-deployment/product/qk-fc2-timed-0.png",
|
| 55 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.09126312495209277,
|
| 63 |
-
"dit_setup_s": 0.0016431249678134918,
|
| 64 |
-
"step_0_s": 10.12600183300674,
|
| 65 |
-
"step_1_s": 10.25785204092972,
|
| 66 |
-
"step_2_s": 10.31819008407183,
|
| 67 |
-
"step_3_s": 10.244670124957338,
|
| 68 |
-
"step_4_s": 10.107232958078384,
|
| 69 |
-
"step_5_s": 10.029554083012044,
|
| 70 |
-
"decode_s": 1.9170843749307096,
|
| 71 |
-
"total_s": 63.23245245893486
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
1024,
|
| 6 |
-
1024
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
256,
|
| 10 |
-
256,
|
| 11 |
-
768,
|
| 12 |
-
768
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/control-validation-0.png",
|
| 24 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.09503345820121467,
|
| 32 |
-
"dit_setup_s": 0.018574999878183007,
|
| 33 |
-
"step_0_s": 16.138278875034302,
|
| 34 |
-
"step_1_s": 17.324966541025788,
|
| 35 |
-
"step_2_s": 17.10170820890926,
|
| 36 |
-
"step_3_s": 17.527415458112955,
|
| 37 |
-
"step_4_s": 17.178513792110607,
|
| 38 |
-
"step_5_s": 17.10299470787868,
|
| 39 |
-
"decode_s": 1.7370757500175387,
|
| 40 |
-
"total_s": 107.01361245894805
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/edit/qk-fc2-native-norm-validation-0.png",
|
| 55 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.09180762502364814,
|
| 63 |
-
"dit_setup_s": 0.00593545800074935,
|
| 64 |
-
"step_0_s": 15.591749583836645,
|
| 65 |
-
"step_1_s": 16.14866058388725,
|
| 66 |
-
"step_2_s": 16.148559999885038,
|
| 67 |
-
"step_3_s": 16.13089166698046,
|
| 68 |
-
"step_4_s": 16.0815456667915,
|
| 69 |
-
"step_5_s": 16.000552749959752,
|
| 70 |
-
"decode_s": 1.7590807920787483,
|
| 71 |
-
"total_s": 100.12193545908667
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/control-validation-0.png",
|
| 24 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08907995908521116,
|
| 32 |
-
"dit_setup_s": 0.005445417016744614,
|
| 33 |
-
"step_0_s": 10.186366624897346,
|
| 34 |
-
"step_1_s": 10.398944000015035,
|
| 35 |
-
"step_2_s": 10.388187959091738,
|
| 36 |
-
"step_3_s": 10.393390582874417,
|
| 37 |
-
"step_4_s": 10.412437124876305,
|
| 38 |
-
"step_5_s": 10.425708208000287,
|
| 39 |
-
"decode_s": 1.8648124169558287,
|
| 40 |
-
"total_s": 64.29311916604638
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/holdout-detail/qk-fc2-native-norm-validation-0.png",
|
| 55 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08324970793910325,
|
| 63 |
-
"dit_setup_s": 0.002322999993339181,
|
| 64 |
-
"step_0_s": 9.82555766706355,
|
| 65 |
-
"step_1_s": 10.011389791965485,
|
| 66 |
-
"step_2_s": 10.023319042054936,
|
| 67 |
-
"step_3_s": 9.948340374976397,
|
| 68 |
-
"step_4_s": 9.975905125029385,
|
| 69 |
-
"step_5_s": 10.093045125016943,
|
| 70 |
-
"decode_s": 1.8749908339232206,
|
| 71 |
-
"total_s": 61.96455545909703
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/control-timed-0.png",
|
| 24 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08343583298847079,
|
| 32 |
-
"dit_setup_s": 0.001739458180963993,
|
| 33 |
-
"step_0_s": 10.410045666852966,
|
| 34 |
-
"step_1_s": 10.420791167067364,
|
| 35 |
-
"step_2_s": 10.387041166890413,
|
| 36 |
-
"step_3_s": 10.363457958912477,
|
| 37 |
-
"step_4_s": 10.30392266716808,
|
| 38 |
-
"step_5_s": 10.31452420912683,
|
| 39 |
-
"decode_s": 1.8196195410564542,
|
| 40 |
-
"total_s": 64.2339057920035
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/portrait/qk-fc2-native-norm-timed-0.png",
|
| 55 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08363316603936255,
|
| 63 |
-
"dit_setup_s": 0.0014190839137881994,
|
| 64 |
-
"step_0_s": 9.715915624983609,
|
| 65 |
-
"step_1_s": 9.817784250015393,
|
| 66 |
-
"step_2_s": 9.768883208977059,
|
| 67 |
-
"step_3_s": 9.779015209060162,
|
| 68 |
-
"step_4_s": 9.768648916855454,
|
| 69 |
-
"step_5_s": 9.780800291104242,
|
| 70 |
-
"decode_s": 1.8109615000430495,
|
| 71 |
-
"total_s": 60.65490966709331
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3-qk/product/qk-fc2-native-norm/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/control-timed-0.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08855687500908971,
|
| 32 |
-
"dit_setup_s": 0.0017782910726964474,
|
| 33 |
-
"step_0_s": 9.8694685830269,
|
| 34 |
-
"step_1_s": 11.024087708909065,
|
| 35 |
-
"step_2_s": 10.974625166971236,
|
| 36 |
-
"step_3_s": 10.970295834122226,
|
| 37 |
-
"step_4_s": 10.889125291956589,
|
| 38 |
-
"step_5_s": 10.934292541118339,
|
| 39 |
-
"decode_s": 1.9161692501511425,
|
| 40 |
-
"total_s": 67.02427170914598
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2-native-norm",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3-qk/product/qk-fc2-native-norm-timed-0.png",
|
| 55 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08656845916993916,
|
| 63 |
-
"dit_setup_s": 0.0020523329731076956,
|
| 64 |
-
"step_0_s": 10.22877712501213,
|
| 65 |
-
"step_1_s": 10.409983040997759,
|
| 66 |
-
"step_2_s": 10.289188583847135,
|
| 67 |
-
"step_3_s": 10.299693416105583,
|
| 68 |
-
"step_4_s": 10.278323167003691,
|
| 69 |
-
"step_5_s": 10.27706433297135,
|
| 70 |
-
"decode_s": 1.8995202500373125,
|
| 71 |
-
"total_s": 63.90098704188131
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3/edit/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
1024,
|
| 6 |
-
1024
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
256,
|
| 10 |
-
256,
|
| 11 |
-
768,
|
| 12 |
-
768
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/control-validation-0.png",
|
| 24 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.09193570795468986,
|
| 32 |
-
"dit_setup_s": 0.00586116686463356,
|
| 33 |
-
"step_0_s": 17.43612916697748,
|
| 34 |
-
"step_1_s": 17.915810333099216,
|
| 35 |
-
"step_2_s": 17.71518375002779,
|
| 36 |
-
"step_3_s": 17.54526187502779,
|
| 37 |
-
"step_4_s": 17.438321667024866,
|
| 38 |
-
"step_5_s": 17.364450709195808,
|
| 39 |
-
"decode_s": 1.7734632920473814,
|
| 40 |
-
"total_s": 109.67779112490825
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/edit/qk-fc2-validation-0.png",
|
| 55 |
-
"png_sha256": "9df3f80efa5ef9f078c9acda81febdbc2d5d706f3c85c574fdfd9fd274b71304",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.09640745911747217,
|
| 63 |
-
"dit_setup_s": 0.006049292162060738,
|
| 64 |
-
"step_0_s": 15.941608458058909,
|
| 65 |
-
"step_1_s": 16.155159290879965,
|
| 66 |
-
"step_2_s": 16.165109500056133,
|
| 67 |
-
"step_3_s": 16.26405395916663,
|
| 68 |
-
"step_4_s": 16.198108582990244,
|
| 69 |
-
"step_5_s": 16.064961167052388,
|
| 70 |
-
"decode_s": 1.7583504170179367,
|
| 71 |
-
"total_s": 100.86470816703513
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3/gallery.json
DELETED
|
@@ -1,98 +0,0 @@
|
|
| 1 |
-
[
|
| 2 |
-
{
|
| 3 |
-
"group": "Exact Q/K fusion + FC2 tuning",
|
| 4 |
-
"case": "product",
|
| 5 |
-
"gallery": "comparisons/optimization-r3-qk/product/qk-fc2-native-norm/index.html",
|
| 6 |
-
"metrics_sha256": "49cb9beabd26f0fd062720ff5778e706fe60e06d31cfb88e3d2ece05c502f893",
|
| 7 |
-
"grid_sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7",
|
| 8 |
-
"pixel_identical": true
|
| 9 |
-
},
|
| 10 |
-
{
|
| 11 |
-
"group": "Exact Q/K fusion + FC2 tuning",
|
| 12 |
-
"case": "portrait",
|
| 13 |
-
"gallery": "comparisons/optimization-r3-qk/portrait/qk-fc2-native-norm/index.html",
|
| 14 |
-
"metrics_sha256": "9ea037662ba4f0e1edf08d83c6fab2e9929626831cc32a4a61ed540e531e8807",
|
| 15 |
-
"grid_sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de",
|
| 16 |
-
"pixel_identical": true
|
| 17 |
-
},
|
| 18 |
-
{
|
| 19 |
-
"group": "Exact Q/K fusion + FC2 tuning",
|
| 20 |
-
"case": "holdout-detail",
|
| 21 |
-
"gallery": "comparisons/optimization-r3-qk/holdout-detail/qk-fc2-native-norm/index.html",
|
| 22 |
-
"metrics_sha256": "4775d06f38348f216efb8b5ba42ada72077ef087d65b83f8e3accdfa1af87df9",
|
| 23 |
-
"grid_sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d",
|
| 24 |
-
"pixel_identical": true
|
| 25 |
-
},
|
| 26 |
-
{
|
| 27 |
-
"group": "Exact Q/K fusion + FC2 tuning",
|
| 28 |
-
"case": "edit",
|
| 29 |
-
"gallery": "comparisons/optimization-r3-qk/edit/qk-fc2-native-norm/index.html",
|
| 30 |
-
"metrics_sha256": "d1969a84e778912065751bba2037db6c13a74aa32c0f442ecc61c5b82eee8da9",
|
| 31 |
-
"grid_sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c",
|
| 32 |
-
"pixel_identical": true
|
| 33 |
-
},
|
| 34 |
-
{
|
| 35 |
-
"group": "Lossless packed weights + exact tuning",
|
| 36 |
-
"case": "product",
|
| 37 |
-
"gallery": "comparisons/optimization-r3-compact/product/qk-fc2-native-norm/index.html",
|
| 38 |
-
"metrics_sha256": "b463bc389757d18fb52f502a1e6f3a564c975f6beb13ca2321c39a57cf86e1b7",
|
| 39 |
-
"grid_sha256": "be898f85d2c0bcd0a90d9a4800cf80e7d3beae1c3df656280fb28b92cb015ac7",
|
| 40 |
-
"pixel_identical": true
|
| 41 |
-
},
|
| 42 |
-
{
|
| 43 |
-
"group": "Lossless packed weights + exact tuning",
|
| 44 |
-
"case": "portrait",
|
| 45 |
-
"gallery": "comparisons/optimization-r3-compact/portrait/qk-fc2-native-norm/index.html",
|
| 46 |
-
"metrics_sha256": "45f490f5a6ec12f32db054f4aedee0b7dbe302592018b24116be3e06702cadb4",
|
| 47 |
-
"grid_sha256": "700c4593945ef70374cf8ca8d78e516d2acc04b122906538b2976b0d659a59de",
|
| 48 |
-
"pixel_identical": true
|
| 49 |
-
},
|
| 50 |
-
{
|
| 51 |
-
"group": "Lossless packed weights + exact tuning",
|
| 52 |
-
"case": "holdout-detail",
|
| 53 |
-
"gallery": "comparisons/optimization-r3-compact/holdout-detail/qk-fc2-native-norm/index.html",
|
| 54 |
-
"metrics_sha256": "575108c69e22d78093498f7db49bfd8cd96ef4886c1c0049852746c5de874d56",
|
| 55 |
-
"grid_sha256": "31f84926000a62f32f753bd338c9b36f17188cd35acd1a63cf3d70eaaf33f73d",
|
| 56 |
-
"pixel_identical": true
|
| 57 |
-
},
|
| 58 |
-
{
|
| 59 |
-
"group": "Lossless packed weights + exact tuning",
|
| 60 |
-
"case": "edit",
|
| 61 |
-
"gallery": "comparisons/optimization-r3-compact/edit/qk-fc2-native-norm/index.html",
|
| 62 |
-
"metrics_sha256": "1b521c42efdca3075605036fc51bc86e27c3cd9fb8c3aded100085a30422c427",
|
| 63 |
-
"grid_sha256": "5da61cb450c4b90fad6f42178b6a22367db5a54c02aaf7b47b215a8bd196047c",
|
| 64 |
-
"pixel_identical": true
|
| 65 |
-
},
|
| 66 |
-
{
|
| 67 |
-
"group": "Full-width fusion: exact pixels, memory tradeoff",
|
| 68 |
-
"case": "product",
|
| 69 |
-
"gallery": "comparisons/optimization-r3-deployment/product/qk-fc2/index.html",
|
| 70 |
-
"metrics_sha256": "5a3bc54f6b0916d83a1bf70d7af55989a234011fdcd2409fc74955a289783b03",
|
| 71 |
-
"grid_sha256": "b7d9451370370d8428aad4847d86ac3982ceec1c5b4af0b90c5bb43d77e9a21f",
|
| 72 |
-
"pixel_identical": true
|
| 73 |
-
},
|
| 74 |
-
{
|
| 75 |
-
"group": "Full-width fusion: exact pixels, memory tradeoff",
|
| 76 |
-
"case": "portrait",
|
| 77 |
-
"gallery": "comparisons/optimization-r3-deployment/portrait/qk-fc2/index.html",
|
| 78 |
-
"metrics_sha256": "859bd41ce5bd6c6611dfc3716cfdb4e698869477856c8c55e0cccc5314c8b4cd",
|
| 79 |
-
"grid_sha256": "517416f9020f0be9692914e18ba0bd8c5e11df84bc4bf1e1afc732f06b2606a2",
|
| 80 |
-
"pixel_identical": true
|
| 81 |
-
},
|
| 82 |
-
{
|
| 83 |
-
"group": "Full-width fusion: exact pixels, memory tradeoff",
|
| 84 |
-
"case": "holdout-detail",
|
| 85 |
-
"gallery": "comparisons/optimization-r3-deployment/holdout-detail/qk-fc2/index.html",
|
| 86 |
-
"metrics_sha256": "7ff107dd7a594c524c3096601ce938c2485b97d2dce22a6250506d37ac86ea52",
|
| 87 |
-
"grid_sha256": "47bac50ff41f08d8ae4e45fd7e269340aadca8e7fdec4fb0c889ab6bd8db1e88",
|
| 88 |
-
"pixel_identical": true
|
| 89 |
-
},
|
| 90 |
-
{
|
| 91 |
-
"group": "Full-width fusion: exact pixels, memory tradeoff",
|
| 92 |
-
"case": "edit",
|
| 93 |
-
"gallery": "comparisons/optimization-r3-deployment/edit/qk-fc2/index.html",
|
| 94 |
-
"metrics_sha256": "a9881cfa4f375b17fc9872cdd162bf864313b8c7b17bf5797a619f998f063f92",
|
| 95 |
-
"grid_sha256": "52d3a40d35505c1c893c2e1917d7367b9aa3faf815b341f6740b5eccbea3280b",
|
| 96 |
-
"pixel_identical": true
|
| 97 |
-
}
|
| 98 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3/holdout-detail/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/control-validation-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/control-validation-0.png",
|
| 24 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08546350011602044,
|
| 32 |
-
"dit_setup_s": 0.0028562501538544893,
|
| 33 |
-
"step_0_s": 10.619318875018507,
|
| 34 |
-
"step_1_s": 10.635955666890368,
|
| 35 |
-
"step_2_s": 10.632296457886696,
|
| 36 |
-
"step_3_s": 10.644406750099733,
|
| 37 |
-
"step_4_s": 10.566011917078868,
|
| 38 |
-
"step_5_s": 10.629142459016293,
|
| 39 |
-
"decode_s": 1.9020051669795066,
|
| 40 |
-
"total_s": 65.84704962512478
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/holdout-detail/qk-fc2-validation-0.png",
|
| 55 |
-
"png_sha256": "ddbfc06c4556c08669d35a4618d380a99998e39a0226e7688d149993ab183038",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08358391700312495,
|
| 63 |
-
"dit_setup_s": 0.0018770832102745771,
|
| 64 |
-
"step_0_s": 9.848138374974951,
|
| 65 |
-
"step_1_s": 9.98282212507911,
|
| 66 |
-
"step_2_s": 10.09999533300288,
|
| 67 |
-
"step_3_s": 10.163251249818131,
|
| 68 |
-
"step_4_s": 10.270917958114296,
|
| 69 |
-
"step_5_s": 10.198511166963726,
|
| 70 |
-
"decode_s": 1.904920166125521,
|
| 71 |
-
"total_s": 62.68734062509611
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3/portrait/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/control-timed-0.png",
|
| 24 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.08550125011242926,
|
| 32 |
-
"dit_setup_s": 0.0015632910653948784,
|
| 33 |
-
"step_0_s": 10.885879541980103,
|
| 34 |
-
"step_1_s": 11.088049875106663,
|
| 35 |
-
"step_2_s": 11.107039166148752,
|
| 36 |
-
"step_3_s": 11.065090750111267,
|
| 37 |
-
"step_4_s": 10.819651541067287,
|
| 38 |
-
"step_5_s": 10.922892624977976,
|
| 39 |
-
"decode_s": 1.9121064159553498,
|
| 40 |
-
"total_s": 68.0219049169682
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/portrait/qk-fc2-timed-0.png",
|
| 55 |
-
"png_sha256": "32af5e3b95919e79e0019058ec396824c5861f9a43a4fa50c7b20348e8d81933",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.08716454193927348,
|
| 63 |
-
"dit_setup_s": 0.0025339999701827765,
|
| 64 |
-
"step_0_s": 10.343852832913399,
|
| 65 |
-
"step_1_s": 10.311937124934047,
|
| 66 |
-
"step_2_s": 10.07040312513709,
|
| 67 |
-
"step_3_s": 10.080784375080839,
|
| 68 |
-
"step_4_s": 10.095044541871175,
|
| 69 |
-
"step_5_s": 10.125651291804388,
|
| 70 |
-
"decode_s": 1.8876813750248402,
|
| 71 |
-
"total_s": 63.14736045780592
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-r3/product/qk-fc2/metrics.json
DELETED
|
@@ -1,85 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Complete image inference",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/control-timed-0.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Current BF16 control",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/control-timed-0.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.0853560408577323,
|
| 32 |
-
"dit_setup_s": 0.0015609171241521835,
|
| 33 |
-
"step_0_s": 10.232307167025283,
|
| 34 |
-
"step_1_s": 11.155369125073776,
|
| 35 |
-
"step_2_s": 11.181794625008479,
|
| 36 |
-
"step_3_s": 11.19105491694063,
|
| 37 |
-
"step_4_s": 11.266168375033885,
|
| 38 |
-
"step_5_s": 11.14753987500444,
|
| 39 |
-
"decode_s": 1.9626916251145303,
|
| 40 |
-
"total_s": 68.59933650004677
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "qk-fc2",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/optimization-r3/product/qk-fc2-timed-0.png",
|
| 55 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 56 |
-
"pixel_identical": true,
|
| 57 |
-
"mae_8bit": 0.0,
|
| 58 |
-
"max_error_8bit": 0,
|
| 59 |
-
"psnr_db": null,
|
| 60 |
-
"ssim_rgb": 1.0,
|
| 61 |
-
"timings": {
|
| 62 |
-
"encode_s": 0.0866880000103265,
|
| 63 |
-
"dit_setup_s": 0.0022984161041677,
|
| 64 |
-
"step_0_s": 10.573326792102307,
|
| 65 |
-
"step_1_s": 10.764806583058089,
|
| 66 |
-
"step_2_s": 10.743913582991809,
|
| 67 |
-
"step_3_s": 10.55372745799832,
|
| 68 |
-
"step_4_s": 10.52767491596751,
|
| 69 |
-
"step_5_s": 10.614938125014305,
|
| 70 |
-
"decode_s": 1.9278774580452591,
|
| 71 |
-
"total_s": 65.93319679214619
|
| 72 |
-
},
|
| 73 |
-
"steps": [
|
| 74 |
-
0,
|
| 75 |
-
1,
|
| 76 |
-
2,
|
| 77 |
-
3,
|
| 78 |
-
4,
|
| 79 |
-
5
|
| 80 |
-
],
|
| 81 |
-
"timing_scope": "Fresh end-to-end request"
|
| 82 |
-
}
|
| 83 |
-
],
|
| 84 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/comparison/metrics.json
DELETED
|
@@ -1,76 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Same final latent; decoder-only comparison. Source-generation and decoder-only timings have different scopes.",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Native BF16 decoder",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.09756437502801418,
|
| 32 |
-
"dit_setup_s": 1.1571008330211043,
|
| 33 |
-
"step_0_s": 10.822453290922567,
|
| 34 |
-
"step_1_s": 11.303021250059828,
|
| 35 |
-
"step_2_s": 11.45283200009726,
|
| 36 |
-
"step_3_s": 11.480994417099282,
|
| 37 |
-
"step_4_s": 11.41636574990116,
|
| 38 |
-
"step_5_s": 11.394194666063413,
|
| 39 |
-
"decode_s": 3.528030874906108,
|
| 40 |
-
"total_s": 72.77735170791857
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "Core ML CPU_AND_NE, batch 1, contiguous bridge",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.png",
|
| 55 |
-
"png_sha256": "a72edf0d9bd4148b6c1d22821102bd096229911889e1d5d95350bddc545a34ac",
|
| 56 |
-
"pixel_identical": false,
|
| 57 |
-
"mae_8bit": 1.1787954171498616,
|
| 58 |
-
"max_error_8bit": 43,
|
| 59 |
-
"psnr_db": 42.42709412463761,
|
| 60 |
-
"ssim_rgb": 0.9889744364650547,
|
| 61 |
-
"timings": {
|
| 62 |
-
"decode_s": 30.625669125001878
|
| 63 |
-
},
|
| 64 |
-
"steps": [
|
| 65 |
-
0,
|
| 66 |
-
1,
|
| 67 |
-
2,
|
| 68 |
-
3,
|
| 69 |
-
4,
|
| 70 |
-
5
|
| 71 |
-
],
|
| 72 |
-
"timing_scope": "One complete decoder pass; model loading excluded"
|
| 73 |
-
}
|
| 74 |
-
],
|
| 75 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 76 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.json
DELETED
|
@@ -1,68 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.",
|
| 3 |
-
"seed": 731,
|
| 4 |
-
"size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
2048,
|
| 10 |
-
2048
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"reference_images": [],
|
| 14 |
-
"reference_sha256": [],
|
| 15 |
-
"sigmas": [
|
| 16 |
-
1.0,
|
| 17 |
-
0.9675236940383911,
|
| 18 |
-
0.8875485062599182,
|
| 19 |
-
0.75,
|
| 20 |
-
0.5327739119529724,
|
| 21 |
-
0.23200887441635132,
|
| 22 |
-
0.0
|
| 23 |
-
],
|
| 24 |
-
"steps": [
|
| 25 |
-
0,
|
| 26 |
-
1,
|
| 27 |
-
2,
|
| 28 |
-
3,
|
| 29 |
-
4,
|
| 30 |
-
5
|
| 31 |
-
],
|
| 32 |
-
"validation_scope": "Same final latent; decoder only",
|
| 33 |
-
"timing_scope": "One complete decoder pass; model loading excluded",
|
| 34 |
-
"timings": {
|
| 35 |
-
"decode_s": 30.625669125001878
|
| 36 |
-
},
|
| 37 |
-
"load_s": 47.709695749916136,
|
| 38 |
-
"vae_backend": "coreml",
|
| 39 |
-
"vae": {
|
| 40 |
-
"batch": 1,
|
| 41 |
-
"compute_units": "CPU_AND_NE"
|
| 42 |
-
},
|
| 43 |
-
"source_trace": "outputs/suite/product/native-3.trace.safetensors",
|
| 44 |
-
"source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29",
|
| 45 |
-
"output": "comparisons/optimization-v2/contiguous-b1-CPU_AND_NE/image.png",
|
| 46 |
-
"png_sha256": "a72edf0d9bd4148b6c1d22821102bd096229911889e1d5d95350bddc545a34ac",
|
| 47 |
-
"numpy_bridge": {
|
| 48 |
-
"output_shape": [
|
| 49 |
-
1,
|
| 50 |
-
3,
|
| 51 |
-
256,
|
| 52 |
-
256
|
| 53 |
-
],
|
| 54 |
-
"output_strides": [
|
| 55 |
-
786432,
|
| 56 |
-
262144,
|
| 57 |
-
1024,
|
| 58 |
-
4
|
| 59 |
-
],
|
| 60 |
-
"output_c_contiguous": true,
|
| 61 |
-
"original_mlx_numpy_import_exact": true
|
| 62 |
-
},
|
| 63 |
-
"pixel_identical": false,
|
| 64 |
-
"mae_8bit": 1.1787954171498616,
|
| 65 |
-
"max_error_8bit": 43,
|
| 66 |
-
"psnr_db": 42.42709412463761,
|
| 67 |
-
"ssim_rgb": 0.9889744364650547
|
| 68 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/comparison/metrics.json
DELETED
|
@@ -1,76 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"validation_scope": "Same final latent; decoder-only comparison. Source-generation and decoder-only timings have different scopes.",
|
| 3 |
-
"reference": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png",
|
| 4 |
-
"native_size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"crop_xyxy": [
|
| 9 |
-
768,
|
| 10 |
-
768,
|
| 11 |
-
1280,
|
| 12 |
-
1280
|
| 13 |
-
],
|
| 14 |
-
"heatmap_gain": 8,
|
| 15 |
-
"metric_definition": {
|
| 16 |
-
"psnr": "Full-resolution 8-bit RGB MSE, data range 255; null means infinity",
|
| 17 |
-
"ssim": "scikit-image RGB structural_similarity, channel_axis=-1, data_range=255, default 7x7 window",
|
| 18 |
-
"mae": "Full-resolution mean absolute 8-bit RGB error"
|
| 19 |
-
},
|
| 20 |
-
"rows": [
|
| 21 |
-
{
|
| 22 |
-
"label": "Native BF16 decoder",
|
| 23 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/outputs/suite/product/native-3.png",
|
| 24 |
-
"png_sha256": "63684ef8ae148a35ddef02650c6aa30b4843b47c99b06cec2ea3708ef3fc2293",
|
| 25 |
-
"pixel_identical": true,
|
| 26 |
-
"mae_8bit": 0.0,
|
| 27 |
-
"max_error_8bit": 0,
|
| 28 |
-
"psnr_db": null,
|
| 29 |
-
"ssim_rgb": 1.0,
|
| 30 |
-
"timings": {
|
| 31 |
-
"encode_s": 0.09756437502801418,
|
| 32 |
-
"dit_setup_s": 1.1571008330211043,
|
| 33 |
-
"step_0_s": 10.822453290922567,
|
| 34 |
-
"step_1_s": 11.303021250059828,
|
| 35 |
-
"step_2_s": 11.45283200009726,
|
| 36 |
-
"step_3_s": 11.480994417099282,
|
| 37 |
-
"step_4_s": 11.41636574990116,
|
| 38 |
-
"step_5_s": 11.394194666063413,
|
| 39 |
-
"decode_s": 3.528030874906108,
|
| 40 |
-
"total_s": 72.77735170791857
|
| 41 |
-
},
|
| 42 |
-
"steps": [
|
| 43 |
-
0,
|
| 44 |
-
1,
|
| 45 |
-
2,
|
| 46 |
-
3,
|
| 47 |
-
4,
|
| 48 |
-
5
|
| 49 |
-
],
|
| 50 |
-
"timing_scope": "Fresh end-to-end request"
|
| 51 |
-
},
|
| 52 |
-
{
|
| 53 |
-
"label": "Core ML CPU_AND_GPU, batch 8, contiguous bridge",
|
| 54 |
-
"image": "/Users/devin/Desktop/MiniMax-H3-Image-mlx/comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.png",
|
| 55 |
-
"png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a",
|
| 56 |
-
"pixel_identical": false,
|
| 57 |
-
"mae_8bit": 0.2054581642150879,
|
| 58 |
-
"max_error_8bit": 7,
|
| 59 |
-
"psnr_db": 54.674052201530415,
|
| 60 |
-
"ssim_rgb": 0.9983190643001968,
|
| 61 |
-
"timings": {
|
| 62 |
-
"decode_s": 1.8162069998215884
|
| 63 |
-
},
|
| 64 |
-
"steps": [
|
| 65 |
-
0,
|
| 66 |
-
1,
|
| 67 |
-
2,
|
| 68 |
-
3,
|
| 69 |
-
4,
|
| 70 |
-
5
|
| 71 |
-
],
|
| 72 |
-
"timing_scope": "One complete decoder pass; model loading excluded"
|
| 73 |
-
}
|
| 74 |
-
],
|
| 75 |
-
"interpretation": "Pixel similarity to the same seeded trajectory, not a measure of prompt adherence or perceptual quality."
|
| 76 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.json
DELETED
|
@@ -1,68 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"prompt": "Square editorial studio photograph of a dark cobalt glass perfume bottle on pale travertine. The centered cream label reads exactly 'NIGHT TIDE' in large engraved serif letters and 'EAU DE PARFUM' in small capitals beneath. Dappled blue caustics, crisp glass edges, fine pores in the stone, dark reflections through the translucent bottle, restrained palette and generous negative space. No other text.",
|
| 3 |
-
"seed": 731,
|
| 4 |
-
"size": [
|
| 5 |
-
2048,
|
| 6 |
-
2048
|
| 7 |
-
],
|
| 8 |
-
"canvas": [
|
| 9 |
-
2048,
|
| 10 |
-
2048
|
| 11 |
-
],
|
| 12 |
-
"rng": "torch",
|
| 13 |
-
"reference_images": [],
|
| 14 |
-
"reference_sha256": [],
|
| 15 |
-
"sigmas": [
|
| 16 |
-
1.0,
|
| 17 |
-
0.9675236940383911,
|
| 18 |
-
0.8875485062599182,
|
| 19 |
-
0.75,
|
| 20 |
-
0.5327739119529724,
|
| 21 |
-
0.23200887441635132,
|
| 22 |
-
0.0
|
| 23 |
-
],
|
| 24 |
-
"steps": [
|
| 25 |
-
0,
|
| 26 |
-
1,
|
| 27 |
-
2,
|
| 28 |
-
3,
|
| 29 |
-
4,
|
| 30 |
-
5
|
| 31 |
-
],
|
| 32 |
-
"validation_scope": "Same final latent; decoder only",
|
| 33 |
-
"timing_scope": "One complete decoder pass; model loading excluded",
|
| 34 |
-
"timings": {
|
| 35 |
-
"decode_s": 1.8162069998215884
|
| 36 |
-
},
|
| 37 |
-
"load_s": 10.882885874947533,
|
| 38 |
-
"vae_backend": "coreml",
|
| 39 |
-
"vae": {
|
| 40 |
-
"batch": 8,
|
| 41 |
-
"compute_units": "CPU_AND_GPU"
|
| 42 |
-
},
|
| 43 |
-
"source_trace": "outputs/suite/product/native-3.trace.safetensors",
|
| 44 |
-
"source_trace_sha256": "40440f8bf2c8f2ab3cbb454ccc9416062b9d69718aa6a0ef9baf1268037b9a29",
|
| 45 |
-
"output": "comparisons/optimization-v2/contiguous-b8-CPU_AND_GPU/image.png",
|
| 46 |
-
"png_sha256": "36a7cdad88b12839d1e4cd30384ee60fafffaac52d2ba05e3be409a33a40a50a",
|
| 47 |
-
"numpy_bridge": {
|
| 48 |
-
"output_shape": [
|
| 49 |
-
8,
|
| 50 |
-
3,
|
| 51 |
-
256,
|
| 52 |
-
256
|
| 53 |
-
],
|
| 54 |
-
"output_strides": [
|
| 55 |
-
786432,
|
| 56 |
-
262144,
|
| 57 |
-
1024,
|
| 58 |
-
4
|
| 59 |
-
],
|
| 60 |
-
"output_c_contiguous": true,
|
| 61 |
-
"original_mlx_numpy_import_exact": true
|
| 62 |
-
},
|
| 63 |
-
"pixel_identical": false,
|
| 64 |
-
"mae_8bit": 0.2054581642150879,
|
| 65 |
-
"max_error_8bit": 7,
|
| 66 |
-
"psnr_db": 54.674052201530415,
|
| 67 |
-
"ssim_rgb": 0.9983190643001968
|
| 68 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|