{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Conditional image generation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Conditional image generation allows you to generate images from a text prompt. The text is converted into embeddings which are used to condition the model to generate an image from noise.\n", "\n", "The [DiffusionPipeline](https://huggingface.co/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline) is the easiest way to use a pre-trained diffusion system for inference.\n", "\n", "Start by creating an instance of [DiffusionPipeline](https://huggingface.co/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline) and specify which pipeline [checkpoint](https://huggingface.co/models?library=diffusers&sort=downloads) you would like to download.\n", "\n", "In this guide, you'll use [DiffusionPipeline](https://huggingface.co/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline) for text-to-image generation with [`runwayml/stable-diffusion-v1-5`](https://huggingface.co/runwayml/stable-diffusion-v1-5):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from diffusers import DiffusionPipeline\n", "\n", "generator = DiffusionPipeline.from_pretrained(\"runwayml/stable-diffusion-v1-5\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The [DiffusionPipeline](https://huggingface.co/docs/diffusers/main/en/api/pipelines/overview#diffusers.DiffusionPipeline) downloads and caches all modeling, tokenization, and scheduling components. \n", "Because the model consists of roughly 1.4 billion parameters, we strongly recommend running it on a GPU.\n", "You can move the generator object to a GPU, just like you would in PyTorch:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "generator.to(\"cuda\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now you can use the `generator` on your text prompt:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "image = generator(\"An image of a squirrel in Picasso style\").images[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output is by default wrapped into a [`PIL.Image`](https://pillow.readthedocs.io/en/stable/reference/Image.html?highlight=image#the-image-class) object.\n", "\n", "You can save the image by calling:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "image.save(\"image_of_squirrel_painting.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Try out the Spaces below, and feel free to play around with the guidance scale parameter to see how it affects the image quality!\n", "\n", "" ] } ], "metadata": {}, "nbformat": 4, "nbformat_minor": 4 }