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)
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.
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. ..
(CELEB, Epoch0, 100 feuilles d'apprentissage)
(CELEB, Epoch0, 500 feuilles d'apprentissage)
(CELEB, Epoch0, 1100 feuilles d'apprentissage)
(CELEB, Epoch1)
(MNIST, Epoch0)
(MNIST, Epoch1)
・
・
・
(MNIST, Epoch6)
(MNIST, Epoch8)
Vous pouvez voir que la précision de la génération d'images s'améliore à mesure que l'apprentissage progresse.
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
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