YogiBare67 gauravgandhi2411 commited on
Commit
6acc51f
·
0 Parent(s):

Duplicate from gauravgandhi2411/aetherart-ukiyo-sd21

Browse files

Co-authored-by: Gaurav Gandhi <gauravgandhi2411@users.noreply.huggingface.co>

Files changed (3) hide show
  1. .gitattributes +35 -0
  2. README.md +85 -0
  3. ukiyo-e-lora.safetensors +3 -0
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: diffusers
3
+ base_model: sd2-community/stable-diffusion-2-1
4
+ tags:
5
+ - stable-diffusion
6
+ - lora
7
+ - text-to-image
8
+ - ukiyo-e
9
+ - art
10
+ - aetherart
11
+ license: creativeml-openrail-m
12
+ pipeline_tag: text-to-image
13
+ ---
14
+
15
+ # AetherArt — SD 2.1 Ukiyo-e LoRA
16
+
17
+ 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.
18
+
19
+ ## Usage
20
+
21
+ ```python
22
+ from diffusers import StableDiffusionPipeline
23
+ import torch
24
+
25
+ pipe = StableDiffusionPipeline.from_pretrained(
26
+ "sd2-community/stable-diffusion-2-1",
27
+ torch_dtype=torch.float16,
28
+ ).to("cuda")
29
+
30
+ pipe.load_lora_weights("gauravgandhi2411/aetherart-ukiyo-sd21")
31
+
32
+ img = pipe(
33
+ "a ukyowood mountain landscape at sunset, traditional woodblock print",
34
+ negative_prompt="text, watermark, calligraphy, signature, words, letters",
35
+ num_inference_steps=30,
36
+ guidance_scale=7.5,
37
+ ).images[0]
38
+ img.save("output.png")
39
+ ```
40
+
41
+ ## Training details
42
+
43
+ | Parameter | Value |
44
+ |-----------|-------|
45
+ | Base model | `sd2-community/stable-diffusion-2-1` |
46
+ | LoRA rank | 8 |
47
+ | Training images | 80 (WikiArt Ukiyo-e) |
48
+ | Resolution | 512 × 512 |
49
+ | Steps | 1500 |
50
+ | Precision | fp16 mixed |
51
+ | Batch size | 1 (gradient accumulation = 4, effective batch = 4) |
52
+ | Learning rate | 1e-4 |
53
+ | Seed | 42 |
54
+ | Hardware | NVIDIA RTX 3070 Laptop GPU (8 GB VRAM) |
55
+ | Training time | ~2 h 8 min |
56
+
57
+ ## Checkpoint selection
58
+
59
+ Selected **checkpoint-1000** over the other checkpoints trained during the run:
60
+
61
+ - **checkpoint-500**: underfit — style signal present but not saturated, more like a mild filter than a transformation.
62
+ - **checkpoint-1000**: selected — consistent warm amber palette and characteristic flatness of traditional woodblock prints across test prompts.
63
+ - **checkpoint-1500**: overfit — validation loss rose from 0.268 to 0.495. Outputs showed over-saturated colors and partial prompt-alignment breakdown.
64
+
65
+ Checkpoint selection was made by visual evaluation only — no quantitative held-out set was used.
66
+
67
+ ## Default negative prompt
68
+
69
+ The following negative prompt is applied automatically by the AetherArt application whenever this adapter is active:
70
+
71
+ ```
72
+ text, watermark, calligraphy, signature, words, letters
73
+ ```
74
+
75
+ ## Known limitations
76
+
77
+ - **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.
78
+ - The adapter was trained and evaluated on 512 × 512 resolution. Results at other resolutions are untested.
79
+ - CLIP scoring does not capture the quality improvements from this adapter. See the CLIP-blindness finding linked below.
80
+
81
+ ## Links
82
+
83
+ - **AetherArt repository:** https://github.com/gaurav-gandhi-2411/AetherArt
84
+ - **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.
85
+ - **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.
ukiyo-e-lora.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4077a236d8bcdf8f010bcf73ecd6f2770b373ba66a52a196e2d0ea4081466916
3
+ size 6677176