Technologieaustausch

Aufzeichnungen über Fallstricke bei der Reproduktion von StableDiffusion-bezogenen Projekten

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Ich beschäftige mich schon seit einiger Zeit mit vinzentinischen Diagrammen und es gibt eine ganze Reihe reproduzierter Artikel. In diesem Blog werden hauptsächlich die Fallstricke aufgezeichnet, in die ich geraten bin.

Derzeit werden Projekte zur Implementierung vinzentinischer Diagramme hauptsächlich in zwei Kategorien unterteilt:

1. Implementierung basierend auf der ursprünglichen Projektdatei von Stable-diffusion

Ursprüngliche Projektadresse:https://github.com/Stability-AI/stablediffusion

Die Codes einiger Artikel basieren auf diesem Originalprojekt. Es ist unwahrscheinlich, dass wir für jedes Projekt eine neue virtuelle Umgebung erstellen, daher werden wir zwangsläufig mehrere Projekte in derselben Umgebung ausführen. Die Umgebung von Python ist jedoch nicht besonders benutzerfreundlich und verschiedene Versionen desselben Pakets weisen ebenfalls Unterschiede auf. Daher treten häufig Probleme auf.

Nehmen Sie als Beispiel meine vorherige Reproduktion von Vico. Als ich das Modell auf Inferenz trainierte, gab es eine Fehlermeldung:

Es heißt, dass das Modell nicht aus dem Internet heruntergeladen werden kann, aber ich habe es eindeutig auf einen lokalen Pfad im Projektcode konfiguriert, sodass dieses Problem wahrscheinlich nicht erneut auftritt. Dann habe ich mir die Fehlerverfolgung angesehen und festgestellt, dass der Dreambooth-Code beim Ausführen tatsächlich im selben Ordner ausgeführt wurde. Damals dachte ich, das lag daran, dass die Datei denselben Namen hatte und das System sie automatisch nacheinander las wenn ich den Abhängigkeitspfad erhalte, drucke ich dann den Systempfad aus:

Nachdem ich alles, was mit Dreambooth zu tun hatte, gelöscht hatte, funktionierte es immer noch nicht. Wenn man darüber nachdenkt, muss es sich um ein Umweltproblem handeln. Später stellte ich fest, dass es daran lag, dass das lokale Projekt-LDM nicht installiert war und die Umgebung immer noch das zuvor installierte LDM verwendete. Tatsächlich ist die Lösung sehr einfach: Sie müssen lediglich pip install -e ausführen.