YogiBare67's picture
Duplicate from gauravgandhi2411/aetherart-ukiyo-sd21
6acc51f
|
Raw
History Blame Contribute Delete
3.9 kB
---
library_name: diffusers
base_model: sd2-community/stable-diffusion-2-1
tags:
- stable-diffusion
- lora
- text-to-image
- ukiyo-e
- art
- aetherart
license: creativeml-openrail-m
pipeline_tag: text-to-image
---
# AetherArt β€” SD 2.1 Ukiyo-e LoRA
A rank-8 LoRA adapter that steers Stable Diffusion 2.1 toward Japanese ukiyo-e woodblock print style. Trained on 80 WikiArt Ukiyo-e images against the `sd2-community/stable-diffusion-2-1` base model. Activate the style with the trigger token **`ukyowood`** anywhere in the prompt.
## Usage
```python
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"sd2-community/stable-diffusion-2-1",
torch_dtype=torch.float16,
).to("cuda")
pipe.load_lora_weights("gauravgandhi2411/aetherart-ukiyo-sd21")
img = pipe(
"a ukyowood mountain landscape at sunset, traditional woodblock print",
negative_prompt="text, watermark, calligraphy, signature, words, letters",
num_inference_steps=30,
guidance_scale=7.5,
).images[0]
img.save("output.png")
```
## Training details
| Parameter | Value |
|-----------|-------|
| Base model | `sd2-community/stable-diffusion-2-1` |
| LoRA rank | 8 |
| Training images | 80 (WikiArt Ukiyo-e) |
| Resolution | 512 Γ— 512 |
| Steps | 1500 |
| Precision | fp16 mixed |
| Batch size | 1 (gradient accumulation = 4, effective batch = 4) |
| Learning rate | 1e-4 |
| Seed | 42 |
| Hardware | NVIDIA RTX 3070 Laptop GPU (8 GB VRAM) |
| Training time | ~2 h 8 min |
## Checkpoint selection
Selected **checkpoint-1000** over the other checkpoints trained during the run:
- **checkpoint-500**: underfit β€” style signal present but not saturated, more like a mild filter than a transformation.
- **checkpoint-1000**: selected β€” consistent warm amber palette and characteristic flatness of traditional woodblock prints across test prompts.
- **checkpoint-1500**: overfit β€” validation loss rose from 0.268 to 0.495. Outputs showed over-saturated colors and partial prompt-alignment breakdown.
Checkpoint selection was made by visual evaluation only β€” no quantitative held-out set was used.
## Default negative prompt
The following negative prompt is applied automatically by the AetherArt application whenever this adapter is active:
```
text, watermark, calligraphy, signature, words, letters
```
## Known limitations
- **Calligraphy artifact (partially mitigated, not fixed):** WikiArt Ukiyo-e source images contain metadata captions with artist signatures and script text embedded in the image margins. The adapter learned these as part of "ukiyo-e style." The default negative prompt suppresses most instances but does not eliminate the artifact entirely β€” the style signal and text signal are entangled in the adapter weights. The correct fix is retraining on a curated dataset with no text annotations, which would require approximately 5 hours of curation work.
- The adapter was trained and evaluated on 512 Γ— 512 resolution. Results at other resolutions are untested.
- CLIP scoring does not capture the quality improvements from this adapter. See the CLIP-blindness finding linked below.
## Links
- **AetherArt repository:** https://github.com/gaurav-gandhi-2411/AetherArt
- **CLIP-blindness finding:** see [`reports/clip_blindness.md`](https://github.com/gaurav-gandhi-2411/AetherArt/blob/main/reports/clip_blindness.md) β€” nine Phase 6b experiments showing CLIP delta <1 SE while LPIPS ranged 0.40–0.73; underfitting paradox; why CLIP cannot guide LoRA training decisions.
- **Companion SDXL adapter (1024Γ—1024):** [`gauravgandhi2411/aetherart-ukiyo-sdxl`](https://huggingface.co/gauravgandhi2411/aetherart-ukiyo-sdxl) β€” same rank-8, same dataset, trained on GCP L4. Both runs independently select checkpoint-1000.