Disco Diffusion Quick Start on RunPod

BY ZHEN LU - JUNE 1, 2022
AI is the latest frontier for artists, providing new opportunities for creativity and expression. Disco Diffusion models are a great way to create some stunning pieces. In this article, we'll go through how to get running Disco Diffusion on RunPod.

What is Disco Diffusion?

Disco Diffusion leverages Machine Learning to create AI Generated Art. You can describe the scene using a text prompt and the AI model will generate the image, which can take anywhere from a minute to an hour. It takes quite a bit of GPU compute to generate these images, but the results can be amazing!

How do you run Disco Diffusion?

Disco Diffusion requires GPU compute to create stunning art and the process can take at least a few minutes. In this blog post, we will walk through how you can rent GPU on RunPod to start your DD journey. You can also do this with your own GPU, provided that it has at least 12 GB VRAM. Just keep in mind that some settings require much more VRAM (48+ GB)!

Step 1: If you don't have a RunPod account, create one. You will have to verify your email (check your spam!) and also sign the terms of service.

Step 2: Go to the billing section and load some money on your account. $25 should be enough to play around and get some great results.

Step 3: Pick your instance type. RunPod Has plenty of options to choose from and it can be daunting to choose from them all. Safe bets are the 3090s on Community Cloud or the A6000s on Secure Cloud. Community Cloud is a bit cheaper, so many people go with that. If you need a true SSH tunnel, it's easier to go with Secure Cloud, but Community Cloud will work for most use cases.

Step 4: Deploying your Pod

Click on the "Select" button

Now, click "Select Template" on the top right and choose the Disco Diffusion template

We are going to use a Jupyter Lab instance to access our instance in this tutorial, so make sure that that checkbox is checked. If you need more disk, you can increase the "Volume Disk" amount.

Click "Continue"

At this point, you are presented with a summary of your choices and you can choose to deploy a spot instance or on-demand instance. A spot instance is a cheaper instance, but it can be interrupted at any time. On-demand instances are non-interruptable. For this tutorial, we'll deploy an on-demand instance.

Click on "My Pods" to go to your dashboard.

You should see your pod start to initialize.

This step may take a little bit depending on if the Disco Diffusion container image is cached on the machine you chose. If you want to check the status, you can click on the "Logs" button and you will be able to see the download/start status of your pod.

Step 5: Get Access to Your Pod

Once the pod is initialized, you should be able to access it by clicking on "Connect". This will bring up a modal window with a bunch of options. For now, you can ignore most of them and click on the button labeled "Connect ArtPod - Disco Diffusion". If you get a 500 error, please give it a minute and try to connect again. The service does take a little bit of time to spin up!

Step 6: Start Your First Run:

Put in the settings you want for your run and then select "Queue Render". This will add your render job to the queue and your machine will pick it up shortly! Please allow a few minutes as it may need to download additional models to fulfil your request. When it starts, you should see the progress images start to show on your screen. If your renders finish really fast with no output, chances are that you have an issue with your inputs. You can check the logs for each job and debug using that.

When you're satisfied with your queue, feel free to close your window and go about your day. Your pod will continue to process your queue until everything is done.

This was a labor of love that I really enjoyed working on. Please let me know if you have feedback for improvements. I hope to make this much better in the future!

EDIT*: We now use Mike's code that wraps the awesome discoart platform. Mike's still amazing :) https://github.com/entmike

Have fun and reach out if you have any questions!

Zhen is one of the co-founders of RunPod. He holds a PhD in Computational Chemistry and has lots of experience teaching, coding, and talking to people.

Want to join our growing community?
Chat with us on our Discord Server.
Prefer email? Contact us at support@runpod.io