Warum ist die Erzeugung von Deep-Style-Bildern so langsam und ressourcenhungrig?

7

Betrachten Sie diese neuronalen Stilalgorithmen, die einige Kunstwerke hervorbringen:

Warum werden solche Bilder so langsam generiert und warum wird sehr viel Speicher benötigt? Gibt es keine Methode zur Optimierung des Algorithmus?

Was ist der Mechanismus oder die technische Einschränkung dahinter? Warum können wir keine Echtzeitverarbeitung haben?

Hier sind einige Benutzerkommentare ( wie JEDER Deep Style-Bilder erstellen kann ):

  • Alles über 640x480 und wir sprechen von Tagen mit starkem Knirschen und einer wahnsinnigen Menge an RAM.

  • Ich habe versucht, ein 1024-Pixel-Bild zu erstellen, und es stürzte immer noch mit 14 GB Speicher und 26 GB-Austausch ab. Der größte Teil des VM-Speicherplatzes ist also nur die Auslagerungsdatei. Außerdem dauert es mehrere Stunden, möglicherweise Tage, bis die CPU dies wiedergibt.

  • Ich habe 1024x768 ausprobiert und mit 16 Gigabyte RAM und 20+ Gig Swap starb es immer noch an Speichermangel.

  • Allerdings ein Speicherproblem. Ich verwende den Instanztyp "g2.8xlarge".

Kenorb
quelle

Antworten:

3

Echtzeit-Stilübertragung und neuronales Gekritzel sind sehr gut möglich und ein aktives Thema, an dem Benutzer arbeiten, um Verbesserungen zu erzielen. Die Grundidee besteht darin, nur zur Testzeit eine Vorwärtsausbreitung durchzuführen und zur Zugzeit mit geeigneten Verlustfunktionen zu trainieren.

Wahrnehmungsverluste für Echtzeit-Stilübertragung und Superauflösung sind ein guter Ausgangspunkt, um eine Methodik für diesen Zweck zu verstehen.

shekkizh
quelle
2

Es ist ein arbeitsintensiver Prozess, aber das klingt übertrieben. Wenn Sie ein g2.8xlarge haben, stellen Sie sicher, dass Sie die GPU-Flags für den neuronalen Stil verwenden, wodurch sich Ihre Renderzeit um eine Größenordnung verkürzt.

Abgesehen davon baut es ein ziemlich großes Netzwerk auf (abhängig von Ihren Parametern), und ein 1024x768-Image ist eine Menge Input, mit dem Sie arbeiten müssen. Es wird einige Zeit dauern, sollte aber nicht länger als ein paar Stunden dauern, wenn das GPU-Flag korrekt aktiviert ist.

Tyler Heldreth
quelle