[PYTHON] Essayez facilement la génération automatique d'images avec DCGAN-tensor flow

DCGAN signifie Deep Convolutional Generative Adversarial Networks, qui est un algorithme qui utilise un réseau neuronal convolutif pour générer des images. En plus du papier original, il existe de nombreux articles qui expliquent en japonais.

Vous pouvez l'utiliser pour générer l'image du visage d'une idole, générer une illustration, etc. Si vous google, vous trouverez de nombreux cas intéressants.

J'avais l'image d'un tel ** "quelque peu incroyable" ** DCGAN, ** "il semble difficile à utiliser" **, mais l'implémentation utilisant TensorFlow a été publiée.

En fait, si vous voulez juste essayer la démo, vous pouvez facilement l'exécuter en ** exécutant simplement la commande selon la procédure **.

Ci-dessous, un mémo de la procédure que j'ai essayée. (Mis à jour en mai 2017)

Téléchargement de données

git clone et exécutez le script de téléchargement.

$ python download.py celebA

J'ai eu l'erreur suivante dans mon environnement.

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

Il semble qu'il n'y ait pas de module appelé tqdm, alors installez-le.

$ pip install tqdm

Exécutez à nouveau download.py pour démarrer le téléchargement et la décompression des données.

À propos, celebA dans l'argument de l'exemple de commande ci-dessus spécifie les données pour la démo de génération de visage de célébrité, donc si vous voulez essayer la démo qui génère des nombres manuscrits

$ python download.py mnist

ça ira.

Apprentissage

Exécutez simplement main.py avec TensorFlow actif.

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

Dans le cas de MNIST

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

Cela prend beaucoup de temps, mais il génère des ** exemples d'images générés ** au milieu du processus dans le dossier samples, afin que vous puissiez voir comment le modèle est entraîné sans attendre la fin de la formation. ..

train_00_0099_celeb.png

(CELEB, Epoch0, 100 feuilles d'apprentissage)

train_00_0498.png

(CELEB, Epoch0, 500 feuilles d'apprentissage)

train_00_1098.png

(CELEB, Epoch0, 1100 feuilles d'apprentissage)

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)

Vous pouvez voir que la précision de la génération d'images s'améliore à mesure que l'apprentissage progresse.

tester

Une fois la formation terminée, vous pouvez utiliser le modèle pour effectuer la génération d'image comme suit:

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

Essayez avec des données d'auto-apprentissage

Lorsque cela se produit, vous voudrez l'essayer avec vos propres données. Suite à un autre article (prévu)

→ J'ai essayé et écrit: Générer automatiquement une "image par points" de l'application de jeu par apprentissage en profondeur

Recommended Posts

Essayez facilement la génération automatique d'images avec DCGAN-tensor flow
Génération automatique de quiz avec COTOHA
Génération de légende d'image avec Chainer
Essayez de brouiller l'image avec opencv2
Génération d'images dégradées avec Python [1] | np.linspace
Génération automatique de documents à partir de docstring avec sphinx
Génération automatique Powerpo avec python-pptx (mémo personnel)
Essayez de générer une image avec aliénation
Génération automatique de mosaïques
[Petite histoire] Tester la génération d'images avec Python / OpenCV
Essayez facilement Amazon EMR / Cloud Dataproc avec Python [mrjob]
Facilement démonisé avec Supervisor
Reconnaissance d'image avec keras
Essayez SNN avec BindsNET
Faites facilement un bip avec python
Traitement d'image avec Python
Génération automatique de modèles de collage
Essayez la régression avec TensorFlow
Traitement d'image avec PIL
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Analyse d'image avec l'API Object Detection à essayer en 1 heure
J'ai essayé de créer facilement une image 3D de haute précision avec une seule photo [2]. (Essayez de traiter la profondeur avec numpy)