


Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet
Kurz nachdem ChatGPT den Kreis verlassen hatte, gewann das Aufkommen von ControlNet schnell viele Entwickler und normale Benutzer im englischen und chinesischen Internet. Einige Benutzer befürworteten sogar, dass das Aufkommen von ControlNet die KI-Erstellung in den aufrechten Gang brachte . Ära. Es ist keine Übertreibung zu sagen, dass die kontrollierbare Generation als letzte Hochmauer der KI-Erstellung, einschließlich ControlNet, der T2I-Adapter-, Composer- und LoRA-Trainingstechniken aus derselben Zeit, in absehbarer Zeit höchstwahrscheinlich weitere Durchbrüche erzielen wird Dadurch werden die Erstellungskosten des Benutzers erheblich reduziert und die Spielbarkeit der Erstellung verbessert. In nur zwei Wochen seit der Veröffentlichung von ControlNet hat die offizielle Star-Zahl die 10.000-Marke überschritten. Diese Popularität ist zweifellos beispiellos.
Gleichzeitig hat die Open-Source-Community auch die Schwelle für Benutzer erheblich gesenkt. Beispielsweise bietet die Hugging Face-Plattform grundlegende Modellgewichte und allgemeine Modelltrainings-Frameworks Diffusoren, stabil -diffusion-webui hat eine komplette Demo-Plattform entwickelt und Civitai hat eine große Anzahl stilisierter LoRA-Gewichte beigesteuert.
Obwohl WebUI derzeit das beliebteste Visualisierungstool ist, hat es schnell verschiedene kürzlich eingeführte Generationsmodelle unterstützt und unterstützt viele Optionen, die Benutzer festlegen können. Da der Schwerpunkt auf der Benutzerfreundlichkeit der Front-End-Schnittstelle liegt, ist die Codestruktur dahinter tatsächlich sehr komplex und für Entwickler nicht benutzerfreundlich genug. Obwohl Webui beispielsweise mehrere Arten des Ladens und der Inferenz unterstützt, kann es weder die Konvertierung unter verschiedenen Frameworks noch das flexible Training von Modellen unterstützen. In Community-Diskussionen haben wir viele Schwachstellen entdeckt, die durch den vorhandenen Open-Source-Code noch nicht gelöst wurden.
Erstens ist das Code-Framework nicht kompatibel mit , derzeit gängigen Modellen, wie z ControlNet, T2I-Adapter, ist nicht mit den gängigen Diffusoren der Stable Diffusion-Trainingsbibliothek kompatibel, und das vorab trainierte ControlNet-Modell kann nicht direkt im Diffusor-Framework verwendet werden.
Zweitens ist das Laden von Modellen begrenzt Derzeit wird das Modell in verschiedenen Formaten gespeichert, z B. .bin, .ckpt, .pth, .satetensors usw. Zusätzlich zu webui bietet das Diffusor-Framework derzeit nur begrenzte Unterstützung für diese Modellformate. Da die meisten LoRA-Modelle hauptsächlich in Safetensors gespeichert werden, ist es für Benutzer schwierig, sie direkt zu verwenden Laden Sie LoRA-Modelle in ein vorhandenes Modell, das auf der Grundlage des Diffusor-Frameworks trainiert wurde.
Drittens Das Basismodell ist limitiert Derzeit basieren ControlNet und T2I-Adapter Für das Training wird Stable-Diffusion-1.5 verwendet, und nur die Modellgewichte unter SD1.5 sind Open-Source-Modelle, auch wenn kontrollierbare Informationen eingeführt werden. Die endgültigen generierten Ergebnisse sind immer noch durch die Fähigkeiten von UNet in SD1.5 begrenzt.
Schließlich ist die Modellausbildung begrenzt Übertragung und Wartung Eine der effektivsten Methoden für bestimmte Bild-IP, aber das Diffusor-Framework unterstützt derzeit nur die LoRA-Einbettung von UNet und kann die Text-Encoder-Einbettung nicht unterstützen, was das LoRA-Training einschränkt. Nach Gesprächen mit der Open-Source-Community erfuhren wir, dass es sich beim Diffusor-Framework um eine allgemeine Codebasis handelt und eine gleichzeitige Anpassung an die kürzlich eingeführten Generationsmodelle geplant ist ; Da viele zugrunde liegende Schnittstellen neu geschrieben werden, dauert die Aktualisierung noch einige Zeit. Zu diesem Zweck sind wir von den oben genannten tatsächlichen Problemen ausgegangen und haben die Führung übernommen, indem wir selbst entwickelte Lösungen für jedes Problem vorgeschlagen haben, um Entwicklern schnell zu helfen, einfacher zu entwickeln.
Komplette Adaptionslösung von LoRA, ControlNet, T2I-Adapter an Diffusoren
LoRA für Diffusoren# 🎜 🎜#Diese Lösung besteht darin, LoRA-Gewichte in verschiedenen Formaten flexibel in das Diffusor-Framework einzubetten, d. h. das Modell, das basierend auf dem Diffusor-Training gespeichert wurde. Da das Training von LoRA normalerweise das Basismodell einfriert, kann es problemlos als steckbare Module als Stil- oder IP-bedingte Einschränkungen in bestehende Modelle eingebettet werden. LoRA selbst ist eine allgemeine Trainingstechnik. Ihr Grundprinzip besteht darin, dass die Anzahl der Parameter des Moduls erheblich reduziert werden kann. Derzeit wird es bei der Bilderzeugung im Allgemeinen zum Trainieren von steckbaren Modulen verwendet Der eigentliche Zweck besteht darin, es mit der Ausgabe des Basismodells in Form von Residuen zusammenzuführen.
Das erste ist die Einbettung von LoRA-Gewichten. Derzeit werden die auf der Civitai-Plattform bereitgestellten Gewichte hauptsächlich im ckpt- oder Safetensors-Format gespeichert, unterteilt in die folgenden zwei Situationen.
(1) Vollständiges Modell (Basismodell + LoRA-Modul)
Wenn das vollständige Modell vorhanden ist Safetensors-Format, kann über das folgende Diffusor-Skript konvertiert werden 🎜🎜#python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.safetensors--dump_path save_dir --from_safetensors
python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.ckpt--dump_path save_dir
# 🎜🎜#Derzeit unterstützen Diffusoren offiziell nicht das Laden nur von LoRA-Gewichten, und LoRA-Gewichte werden auf Open-Source-Plattformen grundsätzlich in dieser Form gespeichert. Im Wesentlichen wird die Neuzuordnung des Schlüsselwerts in LoRA-Gewichten abgeschlossen und an das Diffusormodell angepasst. Aus diesem Grund unterstützen wir diese Funktion selbst und stellen Konvertierungsskripte zur Verfügung.
from diffusers import StableDiffusionPipeline pipeline = StableDiffusionPipeline.from_pretrained (save_dir,torch_dtype=torch.float32)
pipeline = StableDiffusionPipeline.from_pretrained (model_id,torch_dtype=torch.float32) model_path = "onePieceWanoSagaStyle_v2Offset.safetensors" state_dict = load_file (model_path)
Der Code ist Open Source unter: https://github.com/haofanwang/Lora-for-Diffusers
#🎜🎜 ######## 🎜🎜#ControlNet für Diffusoren#🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜 ## 🎜 🎜##🎜 🎜#Diese Lösung soll die Verwendung von ControlNet im Diffusor-Framework unterstützen. Basierend auf einigen Versuchen der Open-Source-Community stellen wir einen vollständigen Anwendungsfall von ControlNet+Anything-V3 bereit und unterstützen den Ersatz des Basismodells vom ursprünglichen SD1.5 durch das Anything-v3-Modell, sodass ControlNet über eine bessere Animationsgenerierung verfügt Fähigkeiten.
Darüber hinaus unterstützen wir auch ControlNet+Inpainting und stellen eine an Diffusoren angepasste Pipeline zur Verfügung,
# 🎜🎜#
und Multi-ControlNet für die Steuerung mehrerer Bedingungen.
Der Code ist Open Source unter: https:/ /github.com/haofanwang/ControlNet-for-Diffusers
# 🎜🎜#
Ähnlich wie ControlNet unterstützen wir auch die Adaption des Open Source T2I-Adapters an Diffusoren bei zur gleichen Zeit.
#🎜 🎜## 🎜🎜#
Derzeit stehen die oben genannten drei Anpassungslösungen der Community als Open Source zur Verfügung und wurden in ControlNet bzw. T2I-Adapter offiziell anerkannt. Sie haben auch Dank vom Autor von Stable-Diffusion-Webui-Colab erhalten. Wir führen Gespräche mit Verantwortlichen der Diffusoren und werden die Integration der oben genannten Lösung in die offizielle Codebasis in naher Zukunft abschließen. Sie können unsere Arbeit auch gerne vorab ausprobieren. Wenn Sie Fragen haben, können Sie uns direkt kontaktieren und wir werden so schnell wie möglich antworten.
Das obige ist der detaillierte Inhalt vonEine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Dieses KI-gestützte Programmiertool hat in dieser Phase der schnellen KI-Entwicklung eine große Anzahl nützlicher KI-gestützter Programmiertools zu Tage gefördert. KI-gestützte Programmiertools können die Entwicklungseffizienz verbessern, die Codequalität verbessern und Fehlerraten reduzieren. Sie sind wichtige Helfer im modernen Softwareentwicklungsprozess. Heute wird Dayao Ihnen 4 KI-gestützte Programmiertools vorstellen (und alle unterstützen die C#-Sprache). https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot ist ein KI-Codierungsassistent, der Ihnen hilft, Code schneller und mit weniger Aufwand zu schreiben, sodass Sie sich mehr auf Problemlösung und Zusammenarbeit konzentrieren können. Git

Wenn Sie ein Gerät aus der Ferne programmieren müssen, hilft Ihnen dieser Artikel. Wir teilen Ihnen die besten Universal-Fernbedienungscodes von GE für die Programmierung aller Geräte mit. Was ist eine GE-Fernbedienung? GEUniversalRemote ist eine Fernbedienung, mit der mehrere Geräte wie Smart-TVs, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, Streaming-Media-Player und mehr gesteuert werden können. GEUniversal-Fernbedienungen gibt es in verschiedenen Modellen mit unterschiedlichen Merkmalen und Funktionen. GEUniversalRemote kann bis zu vier Geräte steuern. Top-Universalfernbedienungscodes zum Programmieren auf jedem Gerät GE-Fernbedienungen werden mit einer Reihe von Codes geliefert, die es ihnen ermöglichen, mit verschiedenen Geräten zu arbeiten. Sie können

Am 3. März 2022, weniger als einen Monat nach der Geburt von Devin, dem weltweit ersten KI-Programmierer, entwickelte das NLP-Team der Princeton University einen Open-Source-KI-Programmierer-SWE-Agenten. Es nutzt das GPT-4-Modell, um Probleme in GitHub-Repositorys automatisch zu lösen. Die Leistung des SWE-Agenten auf dem SWE-Bench-Testsatz ist ähnlich wie die von Devin, er benötigt durchschnittlich 93 Sekunden und löst 12,29 % der Probleme. Durch die Interaktion mit einem dedizierten Terminal kann der SWE-Agent Dateiinhalte öffnen und durchsuchen, die automatische Syntaxprüfung verwenden, bestimmte Zeilen bearbeiten sowie Tests schreiben und ausführen. (Hinweis: Der obige Inhalt stellt eine geringfügige Anpassung des Originalinhalts dar, die Schlüsselinformationen im Originaltext bleiben jedoch erhalten und überschreiten nicht die angegebene Wortbeschränkung.) SWE-A

Tutorial zur Entwicklung mobiler Anwendungen in der Go-Sprache Da der Markt für mobile Anwendungen weiterhin boomt, beginnen immer mehr Entwickler damit, sich mit der Verwendung der Go-Sprache für die Entwicklung mobiler Anwendungen zu befassen. Als einfache und effiziente Programmiersprache hat die Go-Sprache auch großes Potenzial für die Entwicklung mobiler Anwendungen gezeigt. In diesem Artikel wird detailliert beschrieben, wie die Go-Sprache zum Entwickeln mobiler Anwendungen verwendet wird, und es werden spezifische Codebeispiele angehängt, um den Lesern den schnellen Einstieg und die Entwicklung eigener mobiler Anwendungen zu erleichtern. 1. Vorbereitung Bevor wir beginnen, müssen wir die Entwicklungsumgebung und die Tools vorbereiten. Kopf

Als Programmierer bin ich begeistert von Tools, die das Programmiererlebnis vereinfachen. Mithilfe von Tools der künstlichen Intelligenz können wir Democode generieren und die erforderlichen Änderungen entsprechend den Anforderungen vornehmen. Das neu eingeführte Copilot-Tool in Visual Studio Code ermöglicht es uns, KI-generierten Code mit Chat-Interaktionen in natürlicher Sprache zu erstellen. Durch die Erläuterung der Funktionalität können wir die Bedeutung des vorhandenen Codes besser verstehen. Wie verwende ich Copilot zum Generieren von Code? Um zu beginnen, müssen wir zunächst die neueste PowerPlatformTools-Erweiterung herunterladen. Um dies zu erreichen, müssen Sie zur Erweiterungsseite gehen, nach „PowerPlatformTool“ suchen und auf die Schaltfläche „Installieren“ klicken

Die Android-Entwicklung ist eine arbeitsreiche und spannende Aufgabe, und die Auswahl einer geeigneten Linux-Distribution für die Entwicklung ist besonders wichtig. Welche der vielen Linux-Distributionen eignet sich am besten für die Android-Entwicklung? In diesem Artikel wird dieses Problem unter verschiedenen Aspekten untersucht und spezifische Codebeispiele aufgeführt. Werfen wir zunächst einen Blick auf einige derzeit beliebte Linux-Distributionen: Ubuntu, Fedora, Debian, CentOS usw. Sie alle haben ihre eigenen Vorteile und Eigenschaften.

Die Arbeit mit Dateien im Linux-Betriebssystem erfordert die Verwendung verschiedener Befehle und Techniken, die es Entwicklern ermöglichen, Dateien, Code, Programme, Skripts und andere Dinge effizient zu erstellen und auszuführen. Im Linux-Umfeld haben Dateien mit der Endung „.a“ als statische Bibliotheken eine große Bedeutung. Diese Bibliotheken spielen eine wichtige Rolle in der Softwareentwicklung und ermöglichen Entwicklern die effiziente Verwaltung und gemeinsame Nutzung gemeinsamer Funktionen über mehrere Programme hinweg. Für eine effektive Softwareentwicklung in einer Linux-Umgebung ist es wichtig zu verstehen, wie „.a“-Dateien erstellt und ausgeführt werden. In diesem Artikel wird erläutert, wie Sie die Linux-Datei „.a“ umfassend installieren und konfigurieren. Lassen Sie uns die Definition, den Zweck, die Struktur und die Methoden zum Erstellen und Ausführen der Linux-Datei „.a“ untersuchen. Was ist L?

Seit der Einführung von ChatGLM-6B am 14. März 2023 haben die Modelle der GLM-Serie große Aufmerksamkeit und Anerkennung erhalten. Insbesondere nachdem ChatGLM3-6B als Open Source verfügbar war, sind die Entwickler voller Erwartungen an das von Zhipu AI eingeführte Modell der vierten Generation. Diese Erwartung wurde mit der Veröffentlichung von GLM-4-9B endlich vollständig erfüllt. Die Geburt von GLM-4-9B Um kleinen Modellen (10B und darunter) leistungsfähigere Fähigkeiten zu verleihen, hat das GLM-Technikteam nach fast einem halben Jahr dieses neue Open-Source-Modell der GLM-Serie der vierten Generation auf den Markt gebracht: GLM-4-9B Erkundung. Dieses Modell komprimiert die Modellgröße erheblich und stellt gleichzeitig Genauigkeit sicher. Es verfügt über eine schnellere Inferenzgeschwindigkeit und eine höhere Effizienz. Die Untersuchungen des GLM-Technikteams haben dies nicht getan
