Como executar difusão estável em seu PC para gerar imagens de IA

A arte de Inteligência Artificial (IA) está na moda atualmente, mas a maioria dos geradores de imagens de IA rodam na nuvem. O Stable Diffusion é diferente — você pode executá-lo em seu próprio PC e gerar quantas imagens desejar. Veja como você pode instalar e usar o Stable Diffusion no Windows.

O que é difusão estável?

Stable Diffusion é um modelo de aprendizado de máquina de código aberto que pode gerar imagens a partir de texto, modificar imagens com base em texto ou preencher detalhes em imagens de baixa resolução ou com poucos detalhes. Ele foi treinado em bilhões de imagens e pode produzir resultados comparáveis ​​aos obtidos com DALL-E 2 e MidJourney . É desenvolvido pela Stability AI e foi lançado publicamente pela primeira vez em 22 de agosto de 2022.

O Stable Diffusion (ainda) não possui uma interface de usuário organizada como alguns geradores de imagens de IA, mas possui uma licença extremamente permissiva e — o melhor de tudo — é totalmente gratuito para uso em seu próprio PC (ou Mac .)

ATUALIZAÇÃO: 16/09/22

Prefere uma interface gráfica? Experimente nosso guia para executar o Stable Diffusion com uma GUI em seu PC .

Não se deixe intimidar pelo fato de que o Stable Diffusion atualmente é executado em uma interface de linha de comando (CLI). Colocá-lo em funcionamento é bastante simples. Se você clicar duas vezes em um executável e digitar em uma caixa, poderá executá-lo em alguns minutos.

O que você precisa para executar a difusão estável em seu PC?

O Stable Diffusion não funcionará em seu telefone ou na maioria dos laptops, mas funcionará em um PC para jogos comum em 2022. Aqui estão os requisitos:

  • Uma GPU com pelo menos 6 gigabytes (GB) de VRAM
    • Isso inclui as GPUs NVIDIA mais modernas
  • 10 GB (ish) de espaço de armazenamento em seu disco rígido ou unidade de estado sólido
  • O instalador Miniconda3
  • Os arquivos de difusão estável do GitHub
  • Os últimos pontos de verificação (versão 1.4, no momento em que este artigo foi escrito, mas 1.5 deve ser lançado em breve)
  • O instalador do Git
  • Windows 8, 10 ou 11
    • Stable Diffusion também pode ser executado em Linux e macOS

Se você não tiver o hardware, considere usar um gerador de imagens de IA baseado na web . Você pode até executar uma demonstração do Stable Diffusion na web.

Como instalar e executar o Stable Diffusion no Windows

Você precisa de dois softwares: Git e Miniconda3.

Instalando o Git

Git é uma ferramenta que permite aos desenvolvedores gerenciar diferentes versões do software que estão desenvolvendo. Eles podem manter múltiplas versões do software em que estão trabalhando em um repositório central simultaneamente e permitir que outros desenvolvedores contribuam para o projeto.

Se você não é desenvolvedor, o Git oferece uma maneira conveniente de acessar e baixar esses projetos, e é assim que o usaremos neste caso. Baixe o instalador do Windows x64 no site do Git e execute-o para instalar o Git .

Existem várias opções que você será solicitado a selecionar enquanto o instalador é executado – deixe-as com as configurações padrão. Uma página de opções, “Ajustando seu ambiente PATH”, é particularmente importante. Deve ser definido como “Git da linha de comando e também de software de terceiros”.

Certifique-se de que "Git da linha de comando e também de software de terceiros" esteja selecionado.

Instalando Miniconda3

Stable Diffusion baseia-se em algumas bibliotecas Python diferentes . Se você não sabe muito sobre Python, não se preocupe com isso — basta dizer que as bibliotecas são apenas pacotes de software que seu computador pode usar para executar funções específicas, como transformar uma imagem ou fazer matemática complexa .

Miniconda3 é basicamente uma ferramenta conveniente. Ele permite baixar, instalar e gerenciar todas as bibliotecas necessárias para que o Stable Diffusion funcione sem muita intervenção manual. Será também como realmente usaremos a Difusão Estável.

Vá para a página de download do Miniconda3 e clique em “Miniconda3 Windows 64 bits” para obter o instalador mais recente.

Clique em “Miniconda3 Windows 64 bits” para iniciar o download.

Clique duas vezes no executável após o download para iniciar a instalação. A instalação do Miniconda3 envolve menos cliques nas páginas do que o Git, mas você precisa estar atento a esta opção:

Marque a caixa que diz “Todos os usuários”.

Certifique-se de selecionar “Todos os usuários” antes de clicar em Avançar e finalizar a instalação.

Você será solicitado a reiniciar o computador após instalar o Git e o Miniconda3. Não achamos necessário, mas não vai doer se você fizer isso.

Baixe o repositório GitHub de difusão estável e o ponto de verificação mais recente

Agora que instalamos o software de pré-requisito, estamos prontos para baixar e instalar o Stable Diffusion.

Baixe primeiro o ponto de verificação mais recente — a versão 1.4 tem quase 5 GB, então pode demorar um pouco. Você precisa criar uma conta para baixar o ponto de verificação, mas eles exigem apenas um nome e endereço de e-mail. Todo o resto é opcional.

No momento em que este artigo foi escrito (2 de setembro de 2022), o ponto de verificação mais recente era a versão 1.4. Se houver uma versão mais recente, baixe-a.

Clique em “Stable-diffusion-v-1-4-original” ou qualquer que seja a versão mais recente atual.

Clique em “sd-v1-4.ckpt” para iniciar o download.

O outro arquivo, “sd-v1-4-full-ema.ckpt”, pode fornecer melhores resultados, mas tem cerca de duas vezes o tamanho. Você pode usar qualquer um.

Clique em "sd-v1-4.ckpt" para iniciar o download.

Em seguida, você precisa baixar o Stable Diffusion do GitHub. Clique no botão verde “Código” e, em seguida, clique em “Baixar ZIP”. Alternativamente, você pode usar este link de download direto .

Clique no botão verde “Código” e, em seguida, clique em “Baixar ZIP”.

Agora precisamos preparar algumas pastas onde descompactaremos todos os arquivos do Stable Diffusion. Clique no botão Iniciar e digite “miniconda3” na barra de pesquisa do Menu Iniciar e clique em “Abrir” ou pressione Enter.

Digite “miniconda3” na pesquisa do menu Iniciar e clique em “Abrir”.

Vamos criar uma pasta chamada “stable-diffusion” usando a linha de comando. Copie e cole o bloco de código abaixo na janela Miniconda3 e pressione Enter.

 cd C:/mkdir stable-diffusioncd stable-diffusion 

Se tudo correu bem, você verá algo assim:

Terminal Minoconda3 mostrando comandos executados com sucesso.

Mantenha a janela do Miniconda3 aberta, precisaremos dela novamente em um minuto.

Abra o arquivo ZIP, “stable-diffusion-main.zip”, que você baixou do GitHub em seu programa de arquivamento de arquivos favorito . Alternativamente, o Windows também pode abrir arquivos ZIP sozinho, se você não tiver um. Mantenha o arquivo ZIP aberto em uma janela, abra outra janela do File Explorer e navegue até a pasta “C: stable-diffusion” que acabamos de criar.

Arraste e solte a pasta no arquivo ZIP, “stable-diffusion-main”, na pasta “stable-diffusion”.

Arraste e solte o conteúdo do arquivo ZIP na pasta stable-diffusion.

Volte para Miniconda3, copie e cole os seguintes comandos na janela:

 cd C:\stable-diffusion\stable-diffusion-main
conda env create -f environment.yaml
conda activate ldmm
kdir models\ldm\stable-diffusion-v1
Aguarde o download terminar.

Não interrompa esse processo. Alguns dos arquivos são maiores que um gigabyte, então o download pode demorar um pouco. Se você interromper o processo acidentalmente, precisará excluir a pasta do ambiente e executar conda env create -f environment.yamlnovamente. Se isso acontecer, navegue até “C:\Users\(Your User Account)\.conda\envs” e exclua a pasta “ldm”, depois execute o comando anterior.

So, what did we just do? Python lets you sort coding projects into "Environments." Each environment is separate from other environments, so you can load different Python libraries into different environments without having to worry about conflicting versions. It is invaluable if you're working on multiple projects on one PC.

The lines we ran created a new environment named "ldm," downloaded and installed all of the necessary Python libraries for Stable Diffusion to work, activated the ldm environment, then changed the directory to a new folder.

We're on the last step of the installation. Navigate to "C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1" in File Explorer, then copy and paste the checkpoint file (sd-v1-4.ckpt) into the folder.

Copy the model file into the stable-diffuse-v1 folder.

Wait for the file to finish transferring, right-click "sd-v1-4.ckpt" and then click "Rename." Type "model.ckpt" into the highlighted box, then hit Enter to change the file name.

If you're running Windows 11, you won't see "rename" in the right-click context menu. There is an icon that looks like a miniature text field instead.

Rename the model file "model.ckpt"

And that's it --- we're done. We are ready to actually use Stable Diffusion now.

How to Use Stable Diffusion

The ldm environment we created is essential, and you need to activate it any time you want to use Stable Diffusion. Enter conda activate ldm into the Miniconda3 window and hit "Enter." The (ldm) on the left-hand side indicates that the ldm environment is active.

You only need to enter that command when you open Miniconda3. The ldm environment will remain active as long as you do not close the window.

Activate the ldm environment.

Then we need to change the directory (thus the commandcd) to "C:\stable-diffusion\stable-diffusion-main" before we can generate any images. Paste cd C:\stable-diffusion\stable-diffusion-main into command line.

How to Make an Image with Stable Diffusion

We're going to call a script, txt2img.py, that allows us to convert text prompts into 512x512 images. Here is an example. Try this out to make sure everything is working correctly:

 python scripts/txt2img.py --prompt "a close-up portrait of a cat by pablo picasso, vivid, abstract art, colorful, vibrant" --plms --n_iter 5 --n_samples 1 

Your console will give you a progress indicator as it produces the pictures.

Stable Diffusion generating images.

That command will produce five cat images, all located at "C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples".

A cat in the style of Pablo Picasso.

It isn't perfect, but it distinctly resembles the style of Pablo Picasso, just like we specified in the prompt. Your images should look similar but not necessarily identical.

Any time you want to change what image is generated you just need to change the text contained in the double-quotation marks following --prompt.

Don't rewrite the entire line every time. Use the arrow keys to move the text cursor around and just replace the prompt.

 python scripts/txt2img.py --prompt "<strong>YOUR, DESCRIPTIONS, GO, HERE</strong>" --plms --n_iter 5 --n_samples 1 

Digamos que quiséssemos gerar um esquilo realista em uma floresta mágica usando um chapéu de mago. Poderíamos tentar o comando:

 python scripts/txt2img.py --prompt "a photograph of a gopher wearing a wizard hat in a forest, vivid, photorealistic, magical, fantasy, 8K UHD, photography" --plms --n_iter 5 --n_samples 1 
Um esquilo com um chapéu roxo de mago.

É realmente muito fácil: basta descrever o que você deseja da maneira mais específica possível. Se você quiser algo fotorrealista, inclua termos relacionados a uma imagem realista. Se você quiser algo inspirado no estilo de um artista específico, especifique o artista.

Recomendado:  Auto-checkouts: uma grande experiência que deu errado?

A Difusão Estável também não se limita a retratos e animais, mas também pode produzir paisagens impressionantes.

Um lago calmo com montanhas ao redor e um céu dramático.

O que significam os argumentos do comando?

Stable Diffusion possui um enorme número de configurações e argumentos que você pode fornecer para personalizar seus resultados. Os poucos incluídos aqui são basicamente necessários para garantir que o Stable Diffusion funcione em um computador para jogos comum.

  • –plms — Especifica como as imagens serão amostradas. Há um artigo sobre isso, se você quiser conferir a matemática .
  • –n_iter — especifica o número de iterações que você deseja gerar para cada prompt. 5 é um número decente para ver que tipo de resultados você está obtendo.
  • –n_samples — especifica o número de amostras que serão geradas. O padrão é 3, mas a maioria dos computadores não possui VRAM suficiente para suportar isso. Fique com 1, a menos que você tenha um motivo específico para alterá-lo.

É claro que o Stable Diffusion tem vários argumentos diferentes que você pode implementar para ajustar seus resultados. Correr

 python scripts/txt2img.py --help 

para obter uma lista exaustiva de argumentos que você pode usar.

Há muitas tentativas e erros envolvidos na obtenção de ótimos resultados, mas isso é pelo menos metade da diversão. Certifique-se de anotar ou salvar argumentos e descrições que retornem os resultados que você gosta. Se você não quiser fazer todos os experimentos sozinho, existem comunidades crescentes no Reddit (e em outros lugares) dedicadas à troca de fotos e aos prompts que as geraram.