Wenn Sie schon immer der nächste Andy Warhol sein wollten, aber einfach nicht das nötige künstlerische Talent hatten, kann KI das jetzt für Sie erledigen. Mithilfe neuronaler Netzwerke zur Stilübertragung können Sie einem Bild einen künstlerischen Stil verleihen. Sie werden erstellt, indem ein vorhandenes Bildklassifizierungsnetzwerk als Verlustfunktion beim Training des Übertragungsnetzwerks verwendet wird. Dabei wird die Transformationsausgabe mit Trainingsbildern und einem Beispielbild im Stil, beispielsweise einem Gemälde, verglichen. Intuitiv verwenden wir ein vortrainiertes Netzwerk, um ein neues Netzwerk zu trainieren, das semantische Merkmale eines Zielbilds mit Texturen aus einem Stilbild mischt.
Wir nutzen JC Johnsons schnelle neuronale Implementierung dieses Prozesses, indem er sein vortrainiertes VGG16-Netzwerk verwendet, um den Verlust während des Trainings zu berechnen. Wir verwenden K80-GPUs auf Rescale, um das Transformationsnetzwerk effizient zu trainieren und das Netzwerk dann auf neue Bilder anzuwenden.
Die Stilübertragung erfolgt in zwei Schritten: 1) Training des Stilübertragungsnetzwerks selbst und 2) Anwendung des Übertragungsmodells auf neue Bilder. Im Folgenden zeigen wir, wie Sie einen Rescale-Job für die einzelnen Schritte einrichten.
Unten sehen Sie vier Mitglieder des Rescale-Teams, die nach verschiedenen Kunstwerken gestaltet wurden, darunter Jackson Pollock, Takashi Murakami und ein Foto eines Wolkenkratzers in Hongkong. Versuchen Sie zu erraten, welches welches ist. 
Style Transfer lässt sich auf der Cloud-Computing-Plattform von Rescale mit unserer neuen K80-GPU-Hardware ganz einfach umsetzen. Wir haben ein Tutorial mit Beispieldateien beigefügt, mit dem Sie Ihre eigenen, mithilfe eines neuronalen Netzwerks künstlerisch gerenderten Bilder erstellen können. In diesem Tutorial können Sie Jackson Pollocks „On Arches“ auf ein Porträt von Clint Eastwood, Darth Vader, David Bowie und einem Corgi übertragen.
Durchführen einer Stilübertragung beim Skalieren
Wir zeigen Ihnen nun, wie Sie Ihren eigenen Style-Transfer-Job auf Rescale ausführen. Wir erstellen einen Torch-Netzwerk-Trainingsjob und führen ihn aus jcjohnsons Fast-Neural-Style-Paket. Dieser Job kann dann geklont werden, um neue Stile zu trainieren oder neue Bilder zu gestalten. Sie können diesen Job hier auf Rescale klonen.
Zu Beginn laden wir die folgenden Dateien als Eingabe hoch:
- fast-neural-style.tar.gz: Tarball mit der von GitHub heruntergeladenen Software von jcjohnson.
- coco2014.h5.gz: Microsoft COCO 2014-Bild-im-Kontext-Trainingsdatensatz im HDF5-Format (dieses Repository ist eigentlich eine zufällige Auswahl von 1/10 der Originalbilder in COCO 2014).
- clint.jpg: Bild, das wir stylen werden
- pollock.jpg: Bild (Grafik), das zum Stylen des Bildes verwendet wird
- vgg16.t7.gz: trainiertes VGG16-Modell im t7-Format von Torch

Als Nächstes geben wir an, dass wir Torch ausführen und welches Skript ausgeführt werden soll. Wir führen zunächst train.lua aus, um das Stilübertragungsmodell mit VGG16 als Basismodell, COCO 2014 als Trainingsdatensatz und pollock.jpg als Stil zu erstellen. Sobald das Stilübertragungsmodell model.t7 erstellt ist, rufen wir fast_neural_style.lua auf, um clint.jpg zu stylen. Nach Abschluss des Stylings bereinigen wir nicht benötigte Dateien im Rescale-Speicher.
Wir sind fast bereit zum Ausführen. Wählen Sie nun den Obsidian-Kerntyp, 2 CPU-Kerne (entspricht 1 K80-GPU), und klicken Sie dann auf „Senden“.
Sobald unser Cluster startet und unsere Eingaben mit dem Cluster synchronisiert sind, beginnt das anfängliche Training des Stilmodells und wir sehen eine Ansicht wie unten: 
Nachdem das Training und die Bildgestaltung abgeschlossen sind, werden die Ergebnisdateien wieder synchronisiert und wir können unseren gestalteten Clint Eastwood anzeigen:
Beachten Sie, dass wir auch Modell.t7 in unseren Ausgabedateien. Dies ist das neuronale Transfernetzwerk im Pollock-Stil, das wir zum Stylen weiterer Bilder verwenden. Stellen wir diese Modelldatei zunächst als Eingabedatei zur Verfügung:
Jetzt erstellen wir einen neuen Job mit demselben Code-Repository, unserer neuen Modelldatei und einigen weiteren Bildern zum Stylen. Sie können diesen Job hier auf Rescale klonen.
Dieses Mal haben wir unsere Bilder als Archiv hochgeladen, das nach dem Hochladen entpackt wird. Anschließend führen wir Fast-Neural-Style im resultierenden Eingabeverzeichnis aus. Beachten Sie, dass wir den rechenintensiveren Trainingsprozess nicht mehr ausführen müssen.
Sobald das Training abgeschlossen ist, werden die formatierten Bilder in output_imgs in den Ergebnissen angezeigt:
*Besonderer Dank geht an Mark Whitney für die Einrichtung der technischen und lehrreichen Aspekte dieses Blogbeitrags.
