Auto 1111 SDK: Stabile Diffusion Python Library
Auto 1111 SDK ist eine leichte Python -Bibliothek zur Verwendung stabiler Diffusionsgenerierungsbilder, Upscaling -Bilder und Bearbeiten von Bildern mit Diffusionsmodellen. Es ist ein modularer, leichter Python-Client, der alle Hauptmerkmale der [automatischen 1111 stabilen Diffusions-Web-UI] (https://github.com/automatic1111111111111111111111111111111/stable-diffusion-webui) ist. Auto 1111 SDK bietet derzeit 3 Hauptkernfunktionen:
- Pipelines in Text-zu-Image, Bild-zu-Image, Inpainting und Inpacking. Unsere Pipelines unterstützen genau die gleichen Parameter wie die stabile Diffusions -Web -Benutzeroberfläche, sodass Sie Kreationen aus der Web -Benutzeroberfläche auf dem SDK problemlos replizieren können.
- Upscaling -Pipelines, die in wenigen Codezeilen Schlussfolgerungen für ESRgan oder Real Esrgan Upscaler führen können.
- Eine Integration mit Civit AI, um Modelle direkt von der Website herunterzuladen.
Treten Sie unserer Zwietracht bei !!
Demo
Wir haben eine Colab -Demo, in der Sie viele der Operationen von Auto 1111 SDK ausführen können. Schau es dir hier an !!
Installation
Wir empfehlen, Auto 1111 SDK in einer virtuellen Umgebung von PYPI zu installieren. Im Moment haben wir noch keine Unterstützung für Conda -Umgebungen.
Um die neueste Version von Auto 1111 SDK (mit jetzt integriert) zu installieren, rennen Sie:
pip3 install git+https://github.com/saketh12/Auto1111SDK.git
QuickStart
Das Erzeugen von Bildern mit Auto 1111 SDK ist super einfach. Um die Schlussfolgerung für Text-zu-Image, Bild-zu-Image, Inpainting, Outpainting oder Stabile Diffusion Hufskale durchzuführen, haben wir 1 Pipeline, die alle diese Vorgänge unterstützen können. Dies spart viel RAM davon, mehrere Pipeline -Objekte mit anderen Lösungen zu erstellen.
from auto1111sdk import StableDiffusionPipeline
pipe = StableDiffusionPipeline ( "<Path to your local safetensors or checkpoint file>" )
prompt = "a picture of a brown dog"
output = pipe . generate_txt2img ( prompt = prompt , height = 1024 , width = 768 , steps = 10 )
output [ 0 ]. save ( "image.png" )
ControlNet
Im Moment funktioniert ControlNet nur mit FP32. Wir fügen sehr bald Unterstützung für FP16 hinzu.
from auto1111sdk import StableDiffusionPipeline
from auto1111sdk import ControlNetModel
model = ControlNetModel ( model = "<THE CONTROLNET MODEL FILE NAME (WITHOUT EXTENSION)>" ,
image = "<PATH TO IMAGE>" )
pipe = StableDiffusionPipeline ( "<Path to your local safetensors or checkpoint file>" , controlnet = model )
prompt = "a picture of a brown dog"
output = pipe . generate_txt2img ( prompt = prompt , height = 1024 , width = 768 , steps = 10 )
output [ 0 ]. save ( "image.png" )Ausführen unter Windows
Hier finden Sie die Anweisungen. Beitrag von Marco Guardigli, [email protected]
Dokumentation
Wir haben detailliertere Beispiele/Dokumentation darüber, wie Sie hier Auto 1111 SDK verwenden können. Für einen detaillierten Vergleich zwischen uns und Diffusoren von Umarmungen können Sie dies lesen.
Für eine detaillierte Anleitung zur Verwendung von SDXL empfehlen wir dies zu lesen
Merkmale
- Original TXT2IMG- und IMG2IMG -Modi
- Real Esrgan hochgradig und esrgan hochskala (kompatibel mit jeder PTH -Datei)
- Jaint
- Inpainting
- Stabile Diffusion gehoben
- Achtung, geben Sie Teile des Textes an, dem das Modell mehr Aufmerksamkeit schenken sollte
- Ein Mann in einem
((tuxedo)) - wird dem Smoking mehr Aufmerksamkeit schenken - Ein Mann in einem
(tuxedo:1.21) - Alternative Syntax - Wählen Sie Text und drücken Sie
Ctrl+Up oder Ctrl+Down (oder Command+Up oder Command+Down wenn Sie auf einem MacOS sind), um die Aufmerksamkeit automatisch auf ausgewählten Text anzupassen (Code, der vom anonymen Benutzer beigetragen wird)
- Komponierbare Diffusion: Eine Möglichkeit, mehrere Eingabeaufforderungen gleichzeitig zu verwenden
- separate Eingabeaufforderungen mit Großbuchstaben und
- Unterstützt auch Gewichte für Eingabeaufforderungen: eine Katze: 1.2 und ein Hund und ein Pinguin: 2.2
- Arbeitet mit einer Vielzahl von Sampler
- Laden Sie Modelle direkt von Civit AI und Realesrgan Checkpoints herunter
- Setzen Sie benutzerdefinierte VAE: Arbeiten für jedes Modell einschließlich SDXL
- Unterstützung für SDXL mit stabilen Diffusions -XL -Pipelines
- Übergeben Sie benutzerdefinierte Argumente an die Modelle
- Nr. 77 Eingehend -Token -Grenze (im Gegensatz zu Diffusoren von Huggingface, die diese Grenze haben)
Roadmap
- Hinzufügen von Hilfseinstellungen Fix- und Raffiner -Parametern für die Inferenz.
- Unterstützung für Lora's hinzufügen
- Unterstützung der Gesichtsrestaurierung hinzufügen
- Unterstützung für Dreambooth -Trainingsskript.
- Hinzufügen von Unterstützung für benutzerdefinierte Erweiterungen wie ControlNet.
Wir werden sehr bald Unterstützung für diese Funktionen hinzufügen. Wir akzeptieren auch Beiträge zur Arbeit zu diesen Themen!
Beitragen
Auto1111 SDK entwickelt sich ständig weiter und wir schätzen das Engagement der Gemeinschaft. Wir begrüßen alle Formen von Beiträgen - Fehlerberichte, Feature -Anfragen und Codebeiträge.
Melden Sie Fehler und fordern Sie Funktionen an, indem Sie ein Problem auf GitHub eröffnen. Tragen Sie zum Projekt bei, indem Sie das Repository gabt/klonen und eine Pull -Anfrage mit Ihren Änderungen einreichen.
Credits
Lizenzen für geliehenen Code finden Sie im Bildschirm Settings -> Licenses sowie in html/licenses.html -Datei.
- Automatische 1111 Stabile Diffusion Web UI-https://github.com/automatic11111/stable-diffusion-webui
- Stabile Diffusion-https://github.com/stability-ai/stablediffusion, https://github.com/compvis/taming-transformersers
- K-Diffusion-https://github.com/crowsonkb/k-diffusion.git
- Esrgan - https://github.com/xinntao/esrgan
- Midas - https://github.com/isl-org/midas
- Ideen für Optimierungen - https://github.com/basujindal/stable-diffusion
- Cross Achtungsschichtoptimierung - Doggettx - https://github.com/doggettx/stable-diffusion, Originalidee für die schnelle Bearbeitung.
- Optimierung der Cross Account Layer - Invokeai, Lstein - https://github.com/invoke-ai/invokeai (ursprünglich http://github.com/lstein/stable-diffusion)
- Optimierung der sub-quadratischen Cross-Aufmerksamkeitsschicht-Alex Birch (Birch-San/Diffusers#1), Amin Rezaei (https://github.com/aminrezaei0x443/Memory-effiction-attention)
- Textinversion - Rinon Gal - https://github.com/rinongal/textual_inversion (wir verwenden seinen Code nicht, aber wir verwenden seine Ideen).
- Idee für SD Upscale - https://github.com/jquesnelle/txt2imghd
- Geräuscherzeugung für das Ausleitern MK2-https://github.com/parlance-zz/g-diffuser-bot
- Clip -Interrogator -Idee und Ausleihen eines Code
- Idee für komponierbare Diffusion-https://github.com/energy-basierte-model/compositional-visual-generation-with-composable-diffusion-models-pytorch
- Xformers - https://github.com/facebookresearch/xformers
- Probenahme in Float32 Präzision aus einem Float16 Unet-Marunine für die Idee, Birch-San für die Beispieldiffusoren-Implementierung (https://github.com/birch-san/diffusers-play/tree/92feee6)