dreamlite-android / README.md
xay2001's picture
Share one DreamLite weight file across 512 and 1024 execution graphs
e633e43 verified
|
Raw History Blame Contribute Delete
3.36 kB
---
license: cc-by-nc-4.0
library_name: onnxruntime
pipeline_tag: text-to-image
base_model: carlofkl/DreamLite-mobile
tags:
- dreamlite
- onnx
- android
- experimental
---
# DreamLite Android — one model, 512 / 1024 px
Experimental ONNX conversion of [DreamLite-mobile](https://huggingface.co/carlofkl/DreamLite-mobile/tree/diffusers), for the independent DreamLite Lab Android test application. Original implementation: [ByteVisionLab/DreamLite](https://github.com/ByteVisionLab/DreamLite).
## Files
Download the **single `shared/` package** (~1.57 GB total). `dreamlite_weights.bin` holds one exact shared copy of the large weights. Four small ONNX execution graphs select UNet/decoder and 512/1024 tensor shapes. Keep all five files in the same directory without renaming. Sizes and SHA-256 hashes are listed in `shared/manifest.json`.
APK 0.3 defaults to 512px / 1 step and allows 512/1024 and 1/2/4-step selection in Settings. Download once; changing resolution or step count does not download another weight set. 1024px inference is native generation, not upscaling a 512px result. These are static-shape FP32 ONNX opset-17 graphs sharing weights, not a single dynamic-shape ONNX graph.
Older standalone `512/` and `1024/` packages were replaced on the main branch; pinned commits remain available for older test APKs.
The application defaults to **512 × 512, 1 step** and offers 2/4-step comparison. One-step output is experimental and visibly softer in the local sample; four steps is the quality reference. This is not a model trained specifically for one-step inference.
## Scope and validation
- Fixed, pre-encoded text condition in the test APK: a red ceramic teapot on a wooden table near a window, seed 42. The output image is generated on each run, not cached.
- The 2B text/image encoder is **not** included. This package does not provide arbitrary text entry or photo editing in the test APK.
- CPU ONNX numerical checks and a complete 512px, one-step image comparison against the PyTorch baseline were performed. This does not establish general image quality or mobile speed.
- Complete 1024px, four-step CPU output comparison passed the preset image threshold (PSNR 75.57 dB, pixel MAE 0.001803 on a 0–255 scale). The 1024 UNet's stricter elementwise tolerance test failed (maximum absolute error 0.003335); this record is retained. One/two-step 1024 quality has not been separately evaluated. These remain experimental test models.
- QNN HTP strict mode requests FP16 execution and disables CPU fallback. **DreamLite phone NPU compatibility and sub-second latency remain unverified.** These are not the paper's W8A8 quantized weights.
- This 512px experiment does not demonstrate the 1024px, multi-condition project target.
## Provenance and license
Original checkpoint revision: `6695c3f4be230f0493fa5dbf78be3bc4d3bb2ab4` (`diffusers` branch).
The upstream model card specifies CC BY-NC 4.0. The original weight license is included as `LICENSE`; original authors retain their rights. This repository contains derived conversions, not an official release. Use is for non-commercial research. The uploader has confirmed permission from the author to publicly host these converted weights; no additional commercial rights are granted here. Consult the original authors for other uses and follow their ethical restrictions.