Allgemeine Einführung
AI Toolkit von Ostris ist ein Open-Source-KI-Toolset, das sich auf die Unterstützung von Stable Diffusion und FLUX.1-Modellen für Trainings- und Bilderzeugungsaufgaben konzentriert. Das vom Entwickler Ostris erstellte und gepflegte Toolkit, das auf GitHub gehostet wird, zielt darauf ab, eine flexible Plattform für Forscher und Entwickler zur Feinabstimmung und zum Experimentieren mit Modellen zu bieten. Es enthält eine Vielzahl von KI-Skripten, die Funktionen wie LoRA-Extraktion, Batch-Bilderzeugung und schichtspezifisches Training unterstützen. Das Projekt befindet sich derzeit in der Entwicklungsphase, und einige der Funktionen sind möglicherweise noch nicht stabil genug, aber aufgrund der hohen Anpassungsfähigkeit ist es für fortgeschrittene Benutzer im Bereich des Deep Learning geeignet. Das Toolset unterstützt Linux- und Windows-Systeme, und für das Training der FLUX.1-Modelle ist ein Nvidia-Grafikprozessor mit mindestens 24 GB Videospeicher erforderlich.
Funktionsliste
- Modellschulung:: Unterstützt Stable Diffusion und FLUX.1 Modell-Feinabstimmung für das Training von LoRA und LoKr Modellen.
- BilderzeugungGenerieren von Stapelbildern auf der Grundlage von Profilen oder Textaufforderungen.
- LoRA-Extraktion und OptimierungBereitstellung von LoRA- und LoCON-Extraktionswerkzeugen zur Optimierung der Extraktion von Modellmerkmalen.
- Schichtspezifisches TrainingDie einzelnen Schichten des neuronalen Netzes können für das Training ausgewählt und die Gewichte flexibel angepasst werden.
- Unterstützung der BenutzeroberflächeAI Toolkit UI und Gradio UI zur Vereinfachung der Aufgabenverwaltung und des Modelltrainings.
- Verarbeitung des DatensatzesPasst die Bildauflösung automatisch an und gruppiert die Bilder nach Bereichen, wobei eine Vielzahl von Bildformaten unterstützt wird.
- Cloud-AusbildungUnterstützung für die Ausführung von Trainingsaufgaben auf den Plattformen RunPod und Modal.
Hilfe verwenden
Ablauf der Installation
Installation eines Linux-Systems
- Klon-Lager: Führen Sie den folgenden Befehl im Terminal aus, um den Code herunterzuladen:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Aktualisierung von UntermodulenVergewissern Sie sich, dass alle abhängigen Bibliotheken vollständig sind:
git submodule update --init --rekursiv
- Erstellen einer virtuellen Umgebung: Verwenden Sie Python 3.10 oder höher:
python3 -m venv venv
Quelle venv/bin/activate
- Installation von Abhängigkeiten: Installieren Sie zuerst PyTorch und dann die anderen Abhängigkeiten:
pip3 install torch
pip3 install -r anforderungen.txt
Installation des Windows-Systems
- Klon-Lager: Ausführen in der Eingabeaufforderung:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Aktualisierung von Untermodulen:
git submodule update --init --rekursiv
- Erstellen einer virtuellen Umgebung:
python -m venv venv
. \venv\Skripte\aktivieren
- Installation von AbhängigkeitenInstallieren Sie die Version von PyTorch, die CUDA 12.4 unterstützt, und installieren Sie dann die anderen Abhängigkeiten:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
UI Interface Installation
- Installation von Node.jsStellen Sie sicher, dass Node.js 18 oder höher auf Ihrem System installiert ist.
- Aufbau der UI: Geben Sie das Verzeichnis ui ein und installieren Sie die Abhängigkeiten:
cd ui
npm installieren
npm run build
npm update_db ausführen
- Ausführen der UIStartbildschirm:
npm run start
- Zugang zur UI: Geben Sie in Ihrem Browser ein
http://localhost:8675
.
Hauptfunktionen
FLUX.1 Modellschulung
- Vorbereiten der UmgebungVergewissern Sie sich, dass der Grafikprozessor über mindestens 24 GB Videospeicher verfügt, und legen Sie dies in der Konfigurationsdatei fest, wenn er für die Anzeigeausgabe verwendet wird.
low_vram: wahr
um das Modell auf der CPU zu quantifizieren. - FLUX.1-dev konfigurieren:
- Melden Sie sich bei Hugging Face an und besuchen SieSchwarzwald-Labore/FLUX.1-devund akzeptieren die Lizenz.
- Erstellen Sie im Stammverzeichnis des Projekts die Datei
.env
Datei, fügen Sie dieHF_TOKEN=Ihr Leseschlüssel
.
- FLUX.1-schnell konfigurieren:
- Bearbeiten Sie die Konfigurationsdatei (z. B.
train_lora_flux_schnell_24gb.yaml
), hinzufügen:Modell. name_oder_pfad: "schwarzwald-labs/FLUX.1-schnell" assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter" is_flux: wahr quantisieren: wahr Beispiel. führung_skala: 1 stichprobe_schritte: 4
- Vorbereiten des DatensatzesAnlegen im Stammverzeichnis
Datensatz
in den Ordner.jpg
, und.jpeg
vielleicht.png
Bild und das entsprechende.txt
Beschreiben Sie die Datei. - Konfigurationsdatei bearbeitenVervielfältigung
config/examples/train_lora_flux_24gb.yaml
bis (eine Zeit)Konfiguration
Verzeichnis, benennen Sie es um inmeine_konfiguration.yml
Änderungenordner_pfad
ist der Pfad zum Datensatz. - Lauftraining:: Umsetzung:
python run.py config/my_config.yml
Die Trainingsergebnisse werden im angegebenen Ausgabeordner gespeichert und können mit Strg+C angehalten und am nächsten Kontrollpunkt wieder aufgenommen werden.
Ausbildung mit Gradio UI
- Anmelden bei Hugging Face: Laufen
huggingface-cli Anmeldung
Die Eingänge habenschreiben.
Der Schlüssel für dieses Privileg. - UI starten:: Umsetzung:
python flux_train_ui.py
- Bedienung UILaden Sie Bilder hoch, geben Sie Beschreibungen ein, stellen Sie Parameter ein und klicken Sie auf "Training" in der Benutzeroberfläche. Nach Fertigstellung können Sie das LoRA-Modell veröffentlichen.
Training in der Cloud (RunPod)
- Erstellen einer RunPod-Instanz: Verwendung von Vorlagen
runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04
wählen Sie A40 (48 GB Videospeicher). - Installationswerkzeugsatz: Verbinden Sie sich mit Jupyter Notebook und führen Sie den Linux-Installationsbefehl im Terminal aus.
- Hochladen von DatensätzenAnlegen im Stammverzeichnis
Datensatz
und ziehen Sie Bilder und Beschreibungsdateien hinein. - Konfigurieren und ausführen: Ändern Sie die Konfigurationsdatei des
ordner_pfad
Umsetzungpython run.py config/my_config.yml
.
Vorbereitung des Datensatzes
- Anforderungen an die Formatierung: Unterstützung
.jpg
, und.jpeg
, und.png
Format, ist die Beschreibungsdatei.txt
Die Dateinamen müssen konsistent sein (z. B.bild1.jpg
Kontrahentenbild1.txt
). - Beschreibung:
.txt
um eine Beschreibung in der[Auslöser]
Platzhalter, die in der Konfigurationsdatei unterTrigger_Wort
Ersetzen. - automatische AnpassungDas Werkzeug verkleinert und gruppiert die Bilder automatisch entsprechend der eingestellten Auflösung, Zoomen wird nicht unterstützt.
Schichtspezifisches Training
- Konfigurationsdatei bearbeiten: In
Netzwerk
Teilweise hinzugefügt:
Netzwerk.
Typ: "Lora"
linear: 128
linear_alpha: 128
network_kwargs.
only_if_contains.
- "Transformator.single_transformer_blocks.7.proj_out"
- "transformer.single_transformer_blocks.20.proj_out"
- LauftrainingStartet mit einer geänderten Konfigurationsdatei und trainiert nur die angegebene Schicht.
caveat
- Unterbrechung der AusbildungVermeiden Sie es, beim Speichern von Kontrollpunkten Strg+C zu drücken, um die Datei nicht zu beschädigen.
- UI SicherheitUI wird derzeit nur unter Linux getestet, das weniger sicher ist und nicht für den Einsatz im öffentlichen Netz empfohlen wird.
- Hilfe bekommenSie können der Discord-Community von Ostris beitreten, um Fragen zu stellen und direkte private Nachrichten an die Entwickler zu vermeiden.