drdudddd commited on
Commit
55430d1
·
verified ·
1 Parent(s): 96cdcd3

Upload 2 files

Browse files
Files changed (2) hide show
  1. app_1.py +53 -0
  2. requirements_1.txt +4 -0
app_1.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ import torch
4
+ from diffusers import AutoPipelineForImage2Image, LCMScheduler
5
+ from PIL import Image
6
+
7
+ # Lade das Basismodell und den LCM-LoRA Adapter
8
+ # Verwende ein unzensiertes Basismodell wie Lykon/dreamshaper-8 oder SG_161222/Realistic_Vision_V5.1_noVAE
9
+ # Hier wird 'Lykon/dreamshaper-8' als Beispiel verwendet.
10
+ # Für CPU-Nutzung ist torch.float32 besser geeignet.
11
+
12
+ pipeline = AutoPipelineForImage2Image.from_pretrained(
13
+ "Lykon/dreamshaper-8",
14
+ torch_dtype=torch.float32,
15
+ variant="fp16" # variant="fp16" ist hier nur ein Platzhalter, da es für CPU nicht relevant ist, aber für das Laden des Modells benötigt wird.
16
+ )
17
+ pipeline.to("cpu")
18
+
19
+ # Setze den Scheduler
20
+ pipeline.scheduler = LCMScheduler.from_config(pipeline.scheduler.config)
21
+
22
+ # Lade den LCM-LoRA Adapter
23
+ pipeline.load_lora_weights("latent-consistency/lcm-lora-sdv1-5")
24
+
25
+ def image_to_image_editing(input_image: Image.Image, prompt: str) -> Image.Image:
26
+ # Skaliere das Bild auf eine passende Größe, falls nötig
27
+ # Stable Diffusion Modelle arbeiten oft am besten mit 512x512 oder 768x768
28
+ input_image = input_image.resize((512, 512))
29
+
30
+ # Führe die Inferenz durch
31
+ edited_image = pipeline(
32
+ prompt=prompt,
33
+ image=input_image,
34
+ num_inference_steps=4, # Wenige Schritte für schnelle CPU-Inferenz
35
+ guidance_scale=1.0, # Niedriger guidance_scale für LCM-LoRA
36
+ strength=0.6 # Stärke der Bildbearbeitung
37
+ ).images[0]
38
+ return edited_image
39
+
40
+ # Erstelle die Gradio-Oberfläche
41
+ iface = gr.Interface(
42
+ fn=image_to_image_editing,
43
+ inputs=[
44
+ gr.Image(type="pil", label="Eingabebild"),
45
+ gr.Textbox(label="Prompt (Beschreibung der gewünschten Änderung)")
46
+ ],
47
+ outputs=gr.Image(type="pil", label="Bearbeitetes Bild"),
48
+ title="CPU-optimierter unzensierter Bildeditor mit LCM-LoRA",
49
+ description="Lade ein Bild hoch und beschreibe die gewünschte Änderung. Das Modell ist für CPU optimiert und verwendet ein unzensiertes Basismodell mit LCM-LoRA für schnelle Ergebnisse."
50
+ )
51
+
52
+ if __name__ == "__main__":
53
+ iface.launch()
requirements_1.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ gradio
2
+ torch
3
+ diffusers
4
+ Pillow