Text-to-Image
PEFT
Safetensors
stable-diffusion
stable-diffusion-3
lora
diffusionnft
reinforcement-learning
Instructions to use HaC-RL/NFT-OR with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use HaC-RL/NFT-OR with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| base_model: stabilityai/stable-diffusion-3.5-medium | |
| library_name: peft | |
| pipeline_tag: text-to-image | |
| tags: | |
| - stable-diffusion | |
| - stable-diffusion-3 | |
| - lora | |
| - diffusionnft | |
| - reinforcement-learning | |
| # NFT-OR scratch LoRA (SD3.5-Medium) | |
| From-scratch DiffusionNFT LoRA checkpoints for [HaC-RL](https://huggingface.co/HaC-RL) / NFT-OR. | |
| Base model: [`stabilityai/stable-diffusion-3.5-medium`](https://huggingface.co/stabilityai/stable-diffusion-3.5-medium). | |
| LoRA: rank 32, alpha 64, attention projections only. | |
| ## What is uploaded | |
| Inference adapters only (`adapter_config.json` + `adapter_model.safetensors`). Optimizer / scaler states are not included. | |
| | Path | Run | Epochs | Adapter | | |
| | --- | --- | ---: | --- | | |
| | `scratch-nft/checkpoint-180/` | scratch DiffusionNFT, job `219145` | 200 (last save is 180) | EMA stored in `lora/` (legacy save) | | |
| | `scratch-nft-or/checkpoint-180/` | scratch NFT-OR `or_mix`, job `219585` | 180 | EMA (`lora_ema/`) | | |
| | `scratch-nft-or/checkpoint-200/` | same run | 200 | EMA (`lora_ema/`) | | |
| The NFT 200-epoch job only checkpointed at epoch starts (`save_freq=20`), so its last file is **checkpoint-180**, not 200. | |
| Training recipe (both): Pick-a-Pic, PickScore+CLIP+HPSv2, 512², 40 sample steps, β=0.1, 4×A800, seed 42. | |
| ## DrawBench (1024², 40 steps, EMA) | |
| | Checkpoint | ImageReward | CLIP | Aesthetic | PickScore | HPSv2 | avg | | |
| | --- | ---: | ---: | ---: | ---: | ---: | ---: | | |
| | scratch-nft ckpt-180 | 1.194 | 0.280 | 5.888 | 0.895 | 0.316 | 8.573 | | |
| | scratch-nft-or ckpt-180 | 1.292 | 0.285 | 5.938 | 0.897 | 0.321 | 8.733 | | |
| | scratch-nft-or ckpt-200 | 1.306 | 0.286 | 5.951 | 0.896 | 0.319 | 8.757 | | |
| The NFT-OR run used collinear `implicit_positive` OR (`α=0.05`), which saturates after epoch 0. Do not treat the score gap as causal evidence that OR is active. | |
| ## Load | |
| ```python | |
| from diffusers import StableDiffusion3Pipeline | |
| import torch | |
| pipe = StableDiffusion3Pipeline.from_pretrained( | |
| "stabilityai/stable-diffusion-3.5-medium", | |
| torch_dtype=torch.bfloat16, | |
| ) | |
| pipe.load_lora_weights("HaC-RL/NFT-OR", subfolder="scratch-nft-or/checkpoint-200") | |
| ``` | |
| For the matched DrawBench row, use `subfolder="scratch-nft/checkpoint-180"` or `scratch-nft-or/checkpoint-180`. | |