Heim Technologie-Peripheriegeräte KI Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

Apr 12, 2023 pm 06:16 PM
开发 代码

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.

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

# 🎜 🎜#

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
Nach dem Login kopieren

Nach Abschluss der Konvertierung können Sie direkt die API von Diffusoren verwenden, um das Modell zu laden

python ./scripts/convert_original_stable_diffusion_to_diffusers.py --checkpoint_path xxx.ckpt--dump_path save_dir
Nach dem Login kopieren

(2) Nur LoRA (enthält nur das LoRA-Modul)

# 🎜🎜#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)
Nach dem Login kopieren
Es müssen nur das Modell im Diffusor-Format und die LoRA-Gewichte im Safetensor-Format angegeben werden. Wir stellen eine Beispielkonvertierung zur Verfügung.

pipeline = StableDiffusionPipeline.from_pretrained (model_id,torch_dtype=torch.float32)
model_path = "onePieceWanoSagaStyle_v2Offset.safetensors"
state_dict = load_file (model_path)
Nach dem Login kopieren
Darüber hinaus kann LoRA selbst aufgrund seines geringen Gewichts das Training mit kleinen Datenmengen schnell abschließen und in andere Netzwerke eingebettet werden. Um nicht auf die vorhandenen LoRA-Gewichte beschränkt zu sein, unterstützen wir das LoRA-Training mit mehreren Modulen (UNet+Text-Encoder) im Diffusor-Framework und haben eine PR in der offiziellen Codebasis eingereicht (https://github.com/ Huggingface/Diffusers/Pull /2479) und unterstützt das Training von LoRA in ColossalAI.

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,

# 🎜🎜#

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet und Multi-ControlNet für die Steuerung mehrerer Bedingungen.

Der Code ist Open Source unter: https:/ /github.com/haofanwang/ControlNet-for-Diffusers

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

T2I-Adapter für Diffusoren

# 🎜🎜# Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

Ähnlich wie ControlNet unterstützen wir auch die Adaption des Open Source T2I-Adapters an Diffusoren bei zur gleichen Zeit.

Eine vollständige Reihe von Tutorials zur Anpassung des Diffusers-Frameworks finden Sie hier! Vom T2I-Adapter zum beliebten ControlNet

Der Code ist Open Source unter: https://github.com/haofanwang/T2I-Adapter-for-Diffusers

#🎜 🎜## 🎜🎜#

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vier empfohlene KI-gestützte Programmiertools Vier empfohlene KI-gestützte Programmiertools Apr 22, 2024 pm 05:34 PM

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

Universal-Fernbedienungscode-Programm von GE auf jedem Gerät Universal-Fernbedienungscode-Programm von GE auf jedem Gerät Mar 02, 2024 pm 01:58 PM

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

Welcher KI-Programmierer ist der beste? Entdecken Sie das Potenzial von Devin, Tongyi Lingma und SWE-Agent Welcher KI-Programmierer ist der beste? Entdecken Sie das Potenzial von Devin, Tongyi Lingma und SWE-Agent Apr 07, 2024 am 09:10 AM

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

Erfahren Sie, wie Sie mobile Anwendungen mit der Go-Sprache entwickeln Erfahren Sie, wie Sie mobile Anwendungen mit der Go-Sprache entwickeln Mar 28, 2024 pm 10:00 PM

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

So verwenden Sie Copilot zum Generieren von Code So verwenden Sie Copilot zum Generieren von Code Mar 23, 2024 am 10:41 AM

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

Welche Linux-Distribution eignet sich am besten für die Android-Entwicklung? Welche Linux-Distribution eignet sich am besten für die Android-Entwicklung? Mar 14, 2024 pm 12:30 PM

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.

Erstellen Sie Linux-„.a'-Dateien und führen Sie sie aus Erstellen Sie Linux-„.a'-Dateien und führen Sie sie aus Mar 20, 2024 pm 04:46 PM

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?

Tsinghua University und Zhipu AI Open Source GLM-4: Start einer neuen Revolution in der Verarbeitung natürlicher Sprache Tsinghua University und Zhipu AI Open Source GLM-4: Start einer neuen Revolution in der Verarbeitung natürlicher Sprache Jun 12, 2024 pm 08:38 PM

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

See all articles