[PYTHON] Probieren Sie ganz einfach die automatische Bilderzeugung mit DCGAN-Tensorfluss aus

DCGAN steht für Deep Convolutional Generative Adversarial Networks, ein Algorithmus, der ein Faltungs-Neuronales Netzwerk zur Erzeugung von Bildern verwendet. Neben dem Originalpapier gibt es viele Artikel, die auf Japanisch erklärt werden.

Sie können dies verwenden, um das Gesichtsbild eines Idols zu generieren, eine Illustration zu generieren und so weiter. Wenn Sie googeln, finden Sie viele interessante Fälle.

Ich hatte das Image eines solchen ** "etwas erstaunlichen" ** DCGAN **, "es scheint schwierig zu sein" **, aber die Implementierung mit TensorFlow wurde veröffentlicht.

Wenn Sie die Demo nur ausprobieren möchten, können Sie sie einfach ausführen, indem Sie ** nur den Befehl gemäß der Prozedur ausführen **.

Unten finden Sie eine Notiz über die Prozedur, die ich ausprobiert habe. (Aktualisiert im Mai 2017)

Daten herunterladen

Git-Klon und führen Sie das Download-Skript aus.

$ python download.py celebA

Ich habe den folgenden Fehler in meiner Umgebung erhalten.

Traceback (most recent call last):
  File "download.py", line 20, in <module>
    from tqdm import tqdm
ImportError: No module named 'tqdm'

Es scheint, dass es kein Modul namens tqdm gibt, also installieren Sie es.

$ pip install tqdm

Führen Sie download.py erneut aus, um das Herunterladen und Entpacken der Daten zu starten.

Übrigens gibt "celebA" im Argument des obigen Befehlsbeispiels die Daten für die Demo zur Generierung von Promi-Gesichtern an. Wenn Sie also die Demo ausprobieren möchten, die handschriftliche Zahlen generiert

$ python download.py mnist

Wird besorgt.

Lernen

Führen Sie einfach main.py mit aktivem TensorFlow aus.

(tensorflow)$ python main.py --dataset celebA --input_height=108 --train --crop

Im Fall von MNIST

(tensorflow)$ python main.py --dataset mnist --input_height=28 --output_height=28 --train

Es dauert lange, aber es gibt mitten im Prozess ** generierte Beispielbilder ** in den Ordner "samples" aus, sodass Sie sehen können, wie das Modell trainiert wird, ohne auf den Abschluss des Trainings warten zu müssen. ..

train_00_0099_celeb.png

(CELEB, Epoche 0, 100 Blatt Lernen)

train_00_0498.png

(CELEB, Epoche 0, 500 Blatt Lernen)

train_00_1098.png

(CELEB, Epoche 0, 1100 Blatt lernen)

train_01_0033.png

(CELEB, Epoch1)


train_00_0099.png

(MNIST, Epoch0)

train_01_0006.png

(MNIST, Epoch1)

train_06_0041.png

(MNIST, Epoch6)

train_08_0755.png

(MNIST, Epoch8)

Sie können sehen, dass sich die Genauigkeit der Bilderzeugung im Verlauf des Lernens verbessert.

Prüfung

Nach Abschluss des Trainings können Sie das Modell verwenden, um die Bilderzeugung wie folgt durchzuführen:

$ python main.py --dataset mnist --input_height=28 --output_height=28
$ python main.py --dataset celebA --input_height=108 --crop

Versuchen Sie es mit selbstlernenden Daten

In diesem Fall sollten Sie es mit Ihren eigenen Daten versuchen. Fortsetzung zu einem anderen Artikel (geplant)

→ Ich habe versucht und geschrieben: Durch Deep Learning automatisch ein "Punktbild" der Spieleanwendung generieren

Recommended Posts

Probieren Sie ganz einfach die automatische Bilderzeugung mit DCGAN-Tensorfluss aus
Automatische Quizgenerierung mit COTOHA
Bildunterschriftengenerierung mit Chainer
Versuchen Sie, das Bild mit opencv2 zu verwischen
Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
Automatische Dokumentenerstellung aus Docstring mit Sphinx
Powerpo automatische Generierung mit Python-Pptx (persönliches Memo)
Versuchen Sie, ein Bild mit Entfremdung zu erzeugen
Automatische Mosaikerzeugung
[Kleine Geschichte] Testen Sie die Bilderzeugung mit Python / OpenCV
Probieren Sie einfach Amazon EMR / Cloud Dataproc mit Python aus [mrjob]
Mit Supervisor einfach zu dämonisieren
Bilderkennung mit Keras
Versuchen Sie SNN mit BindsNET
Machen Sie einfach einen Piepton mit Python
Bildverarbeitung mit Python
Automatische Generierung von Collagenvorlagen
Versuchen Sie eine Regression mit TensorFlow
Bildverarbeitung mit PIL
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Bildanalyse mit Objekterkennungs-API zum Ausprobieren in 1 Stunde
Ich habe versucht, mit einem Foto einfach ein hochpräzises 3D-Bild zu erstellen [2]. (Versuchen Sie die Verarbeitungstiefe mit numpy)