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

Publicados: 2022-09-10

Um esquilo mágico gerado por IA, um abutre egípcio artístico e um dramático nascer da lua sobre um deserto. Imagem de cabeçalho.

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

Índice

O que é difusão estável?
O que você precisa para executar difusão estável no seu PC?
Como instalar e executar difusão estável no Windows
Instalando o Git
Instalando o Miniconda3
Baixe o repositório GitHub de difusão estável e o ponto de verificação mais recente
Como usar a difusão estável
Como fazer uma imagem com difusão estável
O que significam os argumentos no comando?

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 poucos detalhes. Ele foi treinado em bilhões de imagens e pode produzir resultados comparáveis ​​aos que você obteria de DALL-E 2 e MidJourney. É desenvolvido pela Stability AI e foi lançado publicamente pela primeira vez em 22 de agosto de 2022.

Como criar arte de IA sintética com Midjourney
RELACIONADO Como criar arte sintética de IA com o meio da jornada

O Stable Diffusion não possui uma interface de usuário organizada (ainda) 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).

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ê puder clicar duas vezes em um executável e digitar em uma caixa, poderá executá-lo em alguns minutos.

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

O Stable Diffusion não será executado no seu telefone ou na maioria dos laptops, mas será executado no PC médio para jogos 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 do Miniconda3
  • Os arquivos de difusão estável do GitHub
  • Os Últimos Checkpoints (Versão 1.4, no momento da redação, mas 1.5 deve ser lançado em breve)
  • O instalador do Git
  • Windows 8, 10 ou 11
    • A difusão estável também pode ser executada no Linux e no macOS

Como instalar e executar difusão estável no Windows

Você precisa de dois softwares: Git e Miniconda3.

Nota: Git e Miniconda3 são ambos programas seguros produzidos por organizações respeitáveis. Você não precisa se preocupar com malware com eles, desde que você os baixe das fontes oficiais vinculadas neste artigo.

Instalando o Git

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

RELACIONADO: O que é o GitHub e para que é usado?

Se você não é um desenvolvedor, o Git fornece 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.

Existem várias opções que você será solicitado a selecionar enquanto o instalador é executado - deixe-as em suas configurações padrão. Uma página de opção, “Ajustando seu ambiente PATH”, é particularmente importante. Ele 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 do software de terceiros" esteja selecionado.

Instalando o Miniconda3

Stable Diffusion baseia-se em algumas bibliotecas Python diferentes. Se você não sabe muito sobre Python, não se preocupe muito 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.

RELACIONADO: O que é Python?

Miniconda3 é basicamente uma ferramenta de conveniência. Ele permite que você baixe, instale e gerencie todas as bibliotecas necessárias para que o Stable Diffusion funcione sem muita intervenção manual. Também será como usaremos a difusão estável.

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

Clique duas vezes no executável depois de baixado para iniciar a instalação. A instalação do Miniconda3 envolve menos cliques nas páginas do que o Git, mas você precisa ficar 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.

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.

Faça o download do checkpoint mais recente primeiro — 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.

Observação: no momento da redação (2 de setembro de 2022), o ponto de verificação mais recente é a versão 1.4. Se houver uma versão mais recente, baixe-a.

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

Nota: O outro arquivo, “sd-v1-4-full-ema.ckpt”, pode fornecer melhores resultados, mas tem aproximadamente o dobro do tamanho. Você pode usar qualquer um.

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

Agora precisamos preparar algumas pastas onde iremos descompactar 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.

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.

 CDC:/
difusão estável mkdir
cd difusão estável
Nota: Quase sempre que você cola um bloco de código em um terminal, como Miniconda3, você precisa pressionar Enter no final para executar o último comando.

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

Terminal Minoconda3 mostrando comandos sendo executados com sucesso.

Mantenha a janela do Miniconda3 aberta, vamos precisar 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. Como alternativa, 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.

RELACIONADO: Obtenha ajuda com o File Explorer no Windows 10

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 de difusão estável.

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

 cd C:\stable-diffusion\stable-diffusion-main
conda env create -f environment.yaml
conda ativar ldm
modelos mkdir\ldm\stable-diffusion-v1 

Aguarde o download terminar.

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

Nota: Então, o que acabamos de fazer? Python permite classificar projetos de codificação em “Ambientes”. Cada ambiente é separado de outros ambientes, então você pode carregar diferentes bibliotecas Python em ambientes diferentes sem ter que se preocupar com versões conflitantes. É inestimável se você estiver trabalhando em vários projetos em um PC.

As linhas que executamos criaram um novo ambiente chamado “ldm”, baixamos e instalamos todas as bibliotecas Python necessárias para o funcionamento do Stable Diffusion, ativamos o ambiente ldm e depois mudamos o diretório para uma nova pasta.

Estamos na última etapa da instalação. Navegue até “C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1” no Explorador de Arquivos, copie e cole o arquivo de ponto de verificação (sd-v1-4.ckpt) na pasta.

Copie o arquivo de modelo para a pasta stable-diffuse-v1.

Aguarde a transferência do arquivo, clique com o botão direito do mouse em “sd-v1-4.ckpt” e clique em “Renomear”. Digite “model.ckpt” na caixa destacada e pressione Enter para alterar o nome do arquivo.

Observação: se você estiver executando o Windows 11, não verá “renomear” no menu de contexto do botão direito. Há um ícone que se parece com um campo de texto em miniatura.

RELACIONADOS: Os minúsculos botões do menu de contexto do Windows 11 confundirão as pessoas

Renomeie o arquivo de modelo "model.ckpt"

E é isso – terminamos. Estamos prontos para usar a difusão estável agora.

Como usar a difusão estável

O ambiente ldm que criamos é essencial e você precisa ativá-lo sempre que quiser usar a difusão estável. Digite conda activate ldm na janela Miniconda3 e pressione “Enter”. O (ldm) no lado esquerdo indica que o ambiente ldm está ativo.

Nota: Você só precisa digitar esse comando ao abrir o Miniconda3. O ambiente ldm permanecerá ativo enquanto você não fechar a janela.

Ative o ambiente ldm.

Então precisamos mudar o diretório (daí o comando cd ) para “C:\stable-diffusion\stable-diffusion-main” antes de podermos gerar qualquer imagem. Cole cd C:\stable-diffusion\stable-diffusion-main na linha de comando.

Como fazer uma imagem com difusão estável

Vamos chamar um script, txt2img.py, que nos permite converter prompts de texto em imagens de 512×512. Aqui está um exemplo. Tente isso para ter certeza de que tudo está funcionando corretamente:

 python scripts/txt2img.py --prompt "um retrato em close de um gato por pablo picasso, vívido, arte abstrata, colorido, vibrante" --plms --n_iter 5 --n_samples 1

Seu console fornecerá um indicador de progresso à medida que produz as imagens.

Imagens geradoras de difusão estável.

Esse comando produzirá cinco imagens cat, todas localizadas em “C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples”.

Um gato no estilo de Pablo Picasso.

Não é perfeito, mas lembra distintamente o estilo de Pablo Picasso, exatamente como especificamos no prompt. Suas imagens devem ser semelhantes, mas não necessariamente idênticas.

Sempre que você quiser alterar a imagem gerada, basta alterar o texto contido nas aspas duplas após --prompt .

Dica: Não reescreva a linha inteira toda vez. Use as teclas de seta para mover o cursor de texto e apenas substituir o prompt.
 python scripts/txt2img.py --prompt " SEU, DESCRIÇÕES, VÁ, AQUI " --plms --n_iter 5 --n_samples 1

Digamos que queiramos gerar um esquilo de aparência realista em uma floresta mágica usando um chapéu de mago. Podemos tentar o comando:

 python scripts/txt2img.py --prompt "uma fotografia de um esquilo usando um chapéu de mago em uma floresta, vívida, fotorrealista, mágica, fantasia, 8K UHD, fotografia" --plms --n_iter 5 --n_samples 1 

Um esquilo com um chapéu de mago roxo.

É realmente muito fácil – apenas descreva o que você quer da forma 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.

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

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

O que significam os argumentos no comando?

O Stable Diffusion possui um número enorme 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 seja executado em um computador de jogos médio.

  • –plms — Especifica como as imagens serão amostradas. Há um artigo sobre isso, se você quiser verificar 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 tem 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. Execute python scripts/txt2img.py --help para obter uma lista exaustiva de argumentos que você pode usar.

Há uma tonelada de 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 a trocar fotos e os prompts que as geraram.