examples | ||
min_dalle | ||
replicate | ||
.gitattributes | ||
.gitignore | ||
cog.yaml | ||
image_from_text.py | ||
LICENSE | ||
min_dalle.ipynb | ||
README.md | ||
requirements.txt | ||
setup.py |
min(DALL·E)
This is a minimal implementation of Boris Dayma's DALL·E Mini in PyTorch. It has been stripped to the bare essentials necessary for doing inference. The only third party dependencies are numpy, requests, pillow and torch.
To generate a 3x3 grid of DALL·E Mega images it takes
- 35 seconds with a P100 in Colab
- 15 seconds with an A100 on Replicate
- TBD seconds with an H100
The flax model and code for converting it to torch can be found here.
Install
$ pip install min-dalle
Usage
Python
Load the model parameters once and reuse the model to generate multiple images.
from min_dalle import MinDalle
model = MinDalle(is_mega=True, models_root='./pretrained')
The required models will be downloaded to models_root
if they are not already there. Once everything has finished initializing, call generate_image
with some text and a seed as many times as you want.
text = 'a comfy chair that looks like an avocado'
image = model.generate_image(text)
display(image)
text = 'court sketch of godzilla on trial'
image = model.generate_image(text, seed=6, grid_size=3)
display(image)
text = 'Rusty Iron Man suit found abandoned in the woods being reclaimed by nature'
image = model.generate_image(text, seed=0, grid_size=3)
display(image)
text = 'a funeral at Whole Foods'
image = model.generate_image(text, seed=10, grid_size=3)
display(image)
text = 'Jesus turning water into wine on Americas Got Talent'
image = model.generate_image(text, seed=2, grid_size=3)
display(image)
text = 'cctv footage of Yoda robbing a liquor store'
image = model.generate_image(text, seed=0, grid_size=3)
display(image)
Command Line
Use image_from_text.py
to generate images from the command line.
$ python image_from_text.py --text='artificial intelligence' --seed=7
$ python image_from_text.py --text='trail cam footage of gollum eating watermelon' --mega --seed=1 --grid-size=3