
If you want to know what all these parameters do, check out my article from last month, here.īefore I show examples of the output from GPT-3, here is the legal disclaimer that OpenAI suggests that I show, which is all true. The frequency_penalty and presence_penalty are also similar in that they control how often there are new deviations and new topics in the response. The temperature and top_p parameters are similar in that they indicate the amount of variety in the response. The max_token parameter indicates how long the response should be. I pass the prompt into the call to OpenAI along with some additional parameters. The background picture is Simple and easy apple pie served with vanilla ice cream, on a gingham tablecloth in Lysekil, Sweden. Here is the prompt that creates a caption for the apple pie picture.Ĭreate a funny caption for a new meme about apple pie. Instead of providing examples of what you are asking the model to do, you can just simply ask it what to do directly. I am using their latest “zero-shot” style of prompting with their new Da Vinci Instruct model. OpenAI’s GPT-3 Da Vinci is currently the largest AI model for Natural Language Processing.
#Make a meme generator free#
The model is a lot smaller, but it’s free to use. And there’s the open-source GPT-Neo model from EleutherAI. There’s the latest GPT-3 Da Vinci model from OpenAI that does an excellent job, but you have to be enrolled in their beta program to use it. I use two different implementations of GPT to generate the captions.

I present the top 10 images to the user to choose their favorite.įor example, if you search for “apple pie”, you will be presented with the top 10 images sorted by closest match.
#Make a meme generator download#
I then download the top 20 matching images using the OpenImages download API.įor a final filtering pass, I run the images from the 3 Wikipedia pages and the 20 images from the OpenImages through the image encoder and compare the results to the embedding of the text query. When the user types in a query, I run it through CLIP and compare it to the cached embeddings. I ran each of the descriptions through OpenAI’s CLIP system and cached the embeddings for quick access. A dataset of image descriptions is available for download. The OpenImages dataset from Google is comprised of 675,000 photos scraped from Flikr that were all released under the Creative Commons Attribution license. There are typically 3 to 10 images on a Wikipedia page so there will be about 9 to 30 images in total coming down. I use the pyfileobj() function in Python to download the image files. I use Goldsmith’s Wikipedia search API to find the top 3 pages related to the text query and gather the image descriptions using the CommonsAPI on the Magnus Toolserver. Most of them are released with permissive rights, like the Creative Commons Attribution license. The Wikimedia Commons has over 73 million JPEG files. For more information about how CLIP works, check out my article, here. The CLIP model was pre-trained on 40 million pairs of images with text labels such that the embeddings encoded from the images will be similar to the embeddings encoded from the text labels. The CLIP system accomplishes two functions, encoding both text and images into “embeddings”, which are strings of numbers that represent the gist of the original data. I use OpenAI’s CLIP to perform a semantic search. The background images are pulled from two sources, the Wikimedia Commons and the OpenImages dataset. Meme by AI-Memer, Image by Mike K, Caption by OpenAI GPT-3, License: CC BY-SA 4.0 The AI-Memer system creates memes in three steps: finding background images, generating captions, and typesetting the meme captions.

I was looking for a way to inject a set of new images into the memesphere. These are pretty good but the system is limited to use only common background images. Here are three examples: Sample memes made with AI on You can read about his system here, and run it online here.
#Make a meme generator generator#
He used 100M public meme captions by users of the Imgflip Meme Generator and trained the system to generate captions based on 48 commonly used background images. Here’s what others created before meĭylan Wenzlau created an automatic meme generator using a deep convolutional network.

In the age of the Internet, the term meme has been narrowed to mean a piece of content, typically an image with a funny caption, that’s spread online via social media. The Wiktionary defines the word meme as “any unit of cultural information, such as a practice or idea, that is transmitted verbally or by repeated action from one mind to another in a comparable way to the transmission of genes.” The term originated in Richard Dawkins’ book, The Selfish Gene.
