A.I. Christmas Card Generator
This demo application lets you generate a beautiful Christmas card. Both the text and the picture on the card are generated by an A.I. algorithm.
Fill out the form below and we will send the card to your e-mail address.
P.S. We won't store your e-mail.
Unfortunately, our Christmas Card campaign has ended.
But, below you can still check out some of the cards we generated!
How does this work?
The next bits are for the technical-inclined among us
This user interface
Shiny application
Technology: R, Shiny, Javascript, HTML5, CSS
- Shiny is a web application framework for the R programming language
- Its goal is to allow non-technical end users to interact with datascience products such as A.I. models, graphs, etc.
- We implemented a custom front-end using HTML, Javascript, CSS, and Bootstrap
- The application runs on canda.ai, the datascience workbench developed by CROPLAND
The texts on the card
GPT-2
Technology: Python, Transformers, Deep Learning
- GPT-2 , a large A.I. model that is capable of generating coherent texts that can pass for human-made
- GPT-2 takes some text as its input (e.g., I like) and then predicts what would be a good continuation of the text (e.g., apples. But I dislike pears., or French Fries. French fries go good with steak.).
- The model achieves this by drawing on patterns it has learned from looking at a vast body of texts pulled from the Internet.
- CROPLAND has trained the model to recognize the common patterns in Christmas cards and New Year's wishes. This is called fine-tuning in A.I. development (or Machine Learning).
- This work was done in Python using Transformers, a popular deep learning module designed for working with text
The images on the card
Stable diffusion
Technology: Python, Diffusers, Deep Learning
- Image model based on Stable diffusion by stability.ai
- The model combines a text encoding model and an image model
- The model is first trained on pairs of descriptions and images. This way the model learns the relationship between descriptions and images
- Next, the model is trained to denoise images which were blurred (diffused) with random noise.
- This way they learn how to create artwork.