intelligence artificielle
amour et attention cosmiques
feu dans le ciel
une pyramide faite de glace
une maison isolée dans les bois
mariage à la montagne
lanterne suspendue à un arbre dans un cimetière brumeux
un rêve vivant
ballons au-dessus des ruines d'une ville
la mort de l'astronome solitaire - par moirage
l'intimité tragique de l'éternelle conversation avec soi-même - par le moirage
feu démoniaque - par WiseNat
Ryan Murdock a récidivé en combinant le CLIP d'OpenAI et le générateur d'un BigGAN ! Ce référentiel conclut son travail afin qu'il soit facilement accessible à toute personne possédant un GPU.
Vous pourrez demander au GAN d'imaginer des images en langage naturel avec une commande sur une seule ligne dans le terminal.
Carnet original
Carnet simplifié
Carnet créé par l'utilisateur avec corrections de bugs et fonctionnalités supplémentaires, comme l'intégration de Google Drive
$ pip install big-sleep
$ dream " a pyramid made of ice "
Les images seront enregistrées partout où la commande est invoquée
Vous pouvez l'invoquer dans le code avec
from big_sleep import Imagine
dream = Imagine (
text = "fire in the sky" ,
lr = 5e-2 ,
save_every = 25 ,
save_progress = True
)
dream ()
Vous pouvez désormais entraîner plusieurs phrases en utilisant le délimiteur "|"
Dans cet exemple, nous nous entraînons sur trois phrases :
an armchair in the form of pikachu
an armchair imitating pikachu
abstract
from big_sleep import Imagine
dream = Imagine (
text = "an armchair in the form of pikachu|an armchair imitating pikachu|abstract" ,
lr = 5e-2 ,
save_every = 25 ,
save_progress = True
)
dream ()
Dans cet exemple, nous nous entraînons sur les trois phrases précédentes,
et pénaliser les phrases :
blur
zoom
from big_sleep import Imagine
dream = Imagine (
text = "an armchair in the form of pikachu|an armchair imitating pikachu|abstract" ,
text_min = "blur|zoom" ,
)
dream ()
Vous pouvez également définir un nouveau texte en utilisant la commande .set_text(<str>)
dream . set_text ( "a quiet pond underneath the midnight moon" )
Et réinitialisez les latents avec .reset()
dream . reset ()
Pour sauvegarder la progression des images lors de l'entraînement, il suffit de fournir le flag --save-progress
$ dream " a bowl of apples next to the fireplace " --save-progress --save-every 100
En raison de la nature conditionnée par la classe du GAN, Big Sleep éloigne souvent le collecteur du bruit. Vous pouvez utiliser un indicateur pour enregistrer la meilleure image avec le meilleur score (selon le critique CLIP) dans {filepath}.best.png
dans votre dossier.
$ dream " a room with a view of the ocean " --save-best
Si vous disposez de suffisamment de mémoire, vous pouvez également essayer d'utiliser un modèle de vision plus grand publié par OpenAI pour les générations améliorées.
$ dream " storm clouds rolling in over a white barnyard " --larger-model
Vous pouvez définir le nombre de classes que vous souhaitez limiter à Big Sleep pour le Big GAN avec l'indicateur --max-classes
comme suit (ex. 15 classes). Cela peut conduire à une stabilité supplémentaire pendant l’entraînement, au prix d’une perte d’expressivité.
$ dream ' a single flower in a withered field ' --max-classes 15
Deep Daze - CLIP et un réseau SIREN profond
@misc { unpublished2021clip ,
title = { CLIP: Connecting Text and Images } ,
author = { Alec Radford, Ilya Sutskever, Jong Wook Kim, Gretchen Krueger, Sandhini Agarwal } ,
year = { 2021 }
}
@misc { brock2019large ,
title = { Large Scale GAN Training for High Fidelity Natural Image Synthesis } ,
author = { Andrew Brock and Jeff Donahue and Karen Simonyan } ,
year = { 2019 } ,
eprint = { 1809.11096 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.LG }
}