| --- |
| license: creativeml-openrail-m |
| datasets: |
| - Voxel51/rico |
| pipeline_tag: unconditional-image-generation |
| tags: |
| - diffusion |
| - unet |
| - image-generation |
| - ui-design |
| - tensorflow |
| - mobile-ui |
| --- |
| # Forma-1 |
|
|
| `Forma-1` is a diffusion model trained on 36,536 mobile UI screenshots from the |
| RICO dataset. Give it random noise and it will denoise it into something that |
| looks like a mobile app screen. |
|
|
| It's the model behind DiffuseUI β a project I'm building to explore generative AI |
| applied to interface design. |
|
|
| --- |
|
|
| ## Details |
|
|
| | | | |
| |---|---| |
| | **Architecture** | U-Net | |
| | **Framework** | Tensorflow | |
| | **Image Size** | 64x64 | |
| | **Timesteps** | 1000 | |
| | **Noise Schedule** | Linear | |
| | **Epochs** | 200 | |
| | **Batch Size** | 64 | |
| | **Learning Rate** | 1e-4 | |
| | **Loss** | MSE | |
|
|
| --- |
|
|
| ## Training Data |
|
|
| Trained on the `RICO` dataset β 36,536 UI screenshots across 27 app |
| categories. Images were resized to 64x64 and normalized to [-1, 1] before |
| training. |
|
|
| --- |
|
|
| ## How It Works |
|
|
| Standard DDPM setup. Forward process adds Gaussian noise to real UI screenshots |
| across 1000 steps until they're pure static. The U-Net learns to predict that |
| noise at each step. At generation time you start from pure static and denoise |
| 1000 times β a new UI screen comes out the other end. |
|
|
| --- |
|
|
| ## Limitations |
|
|
| - 64x64 resolution β outputs are small |
| - Unconditional β no control over what category of UI gets generated |
| - Android only β trained exclusively on Android screenshots |
| - 200 epochs on this dataset size produces recognizable but rough outputs |
|
|
| --- |
|
|
| ## About |
|
|
| Built by Ricardo Flores as part of DiffuseUI. |
|
|
| [GitHub](https://github.com/imrichie) Β· [DiffuseUI](#) |