Como executar a difusão estável localmente com GUI no Windows
Você pode instalar o Stable Diffusion localmente em seu PC, mas o processo típico envolve muito trabalho de linha de comando para instalar e usar. Para nossa sorte, a comunidade Stable Diffusion resolveu esse problema. Veja como instalar uma versão do Stable Diffusion que roda localmente com uma GUI!
O que é difusão estável?
Stable Diffusion é um modelo de IA que pode gerar imagens a partir de dicas de texto ou modificar imagens existentes com uma dica de texto, como em MidJourney ou DALL-E 2. Foi lançado pela primeira vez em agosto de 2022 pela Stability.ai. Ele entende milhares de palavras diferentes e pode ser usado para criar quase qualquer imagem que sua imaginação possa imaginar em quase qualquer estilo.
No entanto, existem duas diferenças importantes que diferenciam o Stable Diffusion da maioria dos outros geradores de imagens de IA populares:
- Pode ser executado localmente no seu PC
- Este é um projeto open source
O último ponto aqui é realmente importante. Tradicionalmente, o Stable Diffusion é instalado e executado por meio de uma interface de linha de comando. Isso funciona, mas pode ser desajeitado, não intuitivo e apresenta uma barreira significativa à entrada de pessoas que de outra forma estariam interessadas. Mas como é um projeto de código aberto, a comunidade criou rapidamente uma interface de usuário para ele e começou a adicionar suas próprias adições, incluindo otimizações para minimizar o uso de memória de vídeo (VRAM) e dimensionamento e mascaramento integrados.
O que você precisa para executar esta versão do Stable Diffusion?
Esta versão do Stable Diffusion é uma bifurcação do repositório principal (repositório) criado e mantido pelo Stability.ai . Ele possui uma interface gráfica de usuário (GUI) que o torna mais fácil de usar do que o Stable Diffusion regular, que possui apenas uma interface de linha de comando e um instalador que faz a maior parte da configuração automaticamente.
Aviso. Como sempre, tenha cuidado com bifurcações de software de terceiros que você encontra no GitHub. Estamos usando isso há algum tempo sem problemas, assim como milhares de outros, então tendemos a dizer que é seguro. Felizmente, o código e as alterações aqui são pequenas em comparação com algumas ramificações de projetos de código aberto.
Este fork também contém várias otimizações que devem permitir que ele seja executado em PCs com menos RAM, dimensionamento integrado e recursos faciais usando GFPGAN, ESRGAN, RealESRGAN e CodeFormer e mascaramento. O mascaramento é um grande negócio – ele permite que você aplique seletivamente a geração de imagens de IA a certas partes de uma imagem sem distorcer outras partes, um processo comumente chamado de inpainting.
- Pelo menos 10 gigabytes de espaço livre no disco rígido
- GPU NVIDIA com 6 GB de RAM (embora você possa obter 4 GB para funcionar)
- PC com Windows 11, Windows 10, Windows 8.1 ou Windows 8.
- Repositório WebUI GitHub por AUTOMATIC1111
- Python 3.10.6 (versões mais recentes e versões mais antigas também devem funcionar)
- Pontos de verificação oficiais de difusão estável (cuidado com os pontos de verificação v1.5 no final de setembro!)
- Checkpoints GFPGAN v1.3 (v1.4 pode funcionar também)
- Quaisquer modelos ESRGAN adicionais que você possa precisar. Você pode usar quantos quiser.
Como instalar difusão estável com GUI
O processo de instalação foi bastante simplificado, mas você ainda precisa concluir algumas etapas manuais antes de poder usar o instalador.
Instale o Python primeiro
A primeira coisa que você precisa fazer é instalar a versão do Python 3.10.6 recomendada pelo autor do repositório. Siga este link, role a página e clique em ” Windows Installer (64 bits) “.
Clique no executável que você baixou e siga as instruções. Se você já tem o Python instalado (e provavelmente tinha), basta clicar em Atualizar. Caso contrário, siga as instruções recomendadas.
Observação. Certifique-se de adicionar o Python 3.10.6 ao seu PATH, se puder.
Instale o Git e baixe o repositório GitHub
Você precisa baixar e instalar o Git no Windows antes de poder executar o instalador Stable Diffusion. Basta baixar o executável Git de 64 bits , executá-lo e usar as configurações recomendadas, a menos que você tenha algo específico em mente.
Em seguida, você precisa baixar os arquivos do repositório GitHub . Clique no botão verde “Código” e clique em “Baixar ZIP” na parte inferior do menu.
Abra o arquivo ZIP no Explorador de Arquivos ou em seu programa de compactação preferido e extraia o conteúdo para qualquer local. Apenas lembre-se de que você precisará navegar até esta pasta para executar o Stable Diffusion. Neste exemplo, eles são extraídos para o diretório C:\, mas isso não é obrigatório.
Observação. Certifique-se de não arrastar acidentalmente “stable-diffusion-webui-master” para uma pasta diferente do espaço vazio – se você fizer isso, ele terminará nessa pasta e não na pasta pai que você pretendia.
Baixe todos os checkpoints
Para fazer isso, você precisará de vários pontos de controle. O primeiro e mais importante são os pontos de controle de difusão estáveis . Você precisa criar uma conta para baixar pontos de verificação, mas não é preciso muito para uma conta – tudo o que eles precisam é de um nome e endereço de e-mail e pronto.
Observação. O download de pontos de verificação leva vários gigabytes. Não espere que isso seja feito instantaneamente.
Copie e cole “sd-v1-4.ckpt” na pasta “stable-diffusion-webui-master” da seção anterior, clique com o botão direito do mouse em “sd-v1-4.ckpt” e clique em “Renomear”. Digite “model.ckpt” no campo de texto e pressione Enter. Certifique-se de que é “model.ckpt” – caso contrário, não funcionará.
Observação. O recurso de renomeação é um ícone no Windows 11.
Você também precisa baixar os checkpoints GFPGAN . O autor do repositório que usamos chamou GFPGAN v1.3 breakpoints , mas você pode usar a v1.4 se quiser experimentar. Role a página e clique em “Modelo da versão 1.3”.
Coloque este arquivo “GFPGANv1.3.pth” na pasta “stable-diffusion-webui-master” como você fez com o arquivo “sd-v1-4.ckpt”, mas não o renomeie. A pasta “stable-diffusion-webui-master” agora deve conter os seguintes arquivos:
Você também pode baixar quantos checkpoints ESRGAN desejar. Eles geralmente vêm como arquivos ZIP. Uma vez baixado, abra o arquivo ZIP e extraia o arquivo “.pth” para a pasta “ESRGAN”. Aqui está um exemplo:
Os modelos ESRGAN tendem a fornecer funcionalidades mais específicas, então escolha o par que você gosta.
Agora você só precisa clicar duas vezes no arquivo “webui-user.bat” que está localizado na pasta principal “stable-diffusion-webui-master”. Uma janela de console aparecerá e começará a baixar todos os outros arquivos importantes, criando um ambiente Python e configurando a interface do usuário da web. Isso parecerá assim:
Observação. Espere que o primeiro lançamento deste aplicativo leve pelo menos alguns minutos. Você precisa baixar um monte de tudo da Internet. Se parecer travar por um tempo excessivamente longo em um estágio, tente selecionar uma janela do console e pressionar a tecla Enter.
Feito isso, o console exibirá:
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`
Como gerar imagens usando difusão estável com GUI
Ok, você instalou a variante baseada na web do Stable Diffusion e seu console disse que estava “executando na URL local: http://127.0.0.1:7860”.
Nota: o que exatamente isso significa, o que está acontecendo? 127.0.0.1 é o endereço do host local – o endereço IP que seu computador fornece a si mesmo. Esta versão do Stable Diffusion cria um servidor em seu PC local acessível através de seu próprio endereço IP, mas somente se você se conectar na porta correta: 7860.
Abra um navegador, digite “127.0.0.1:7860” ou “localhost:7860” na barra de endereço e pressione Enter. Você verá isso na guia txt2img:
Se você já usou Difusão estável antes, essas configurações serão familiares para você, mas aqui está uma rápida visão geral do que significam as opções mais importantes:
- Dica: uma descrição do que você deseja criar.
- Botão de rolagem: aplica um estilo de arte aleatório à sua dica de ferramenta.
- Etapas de amostragem: o número de vezes que a imagem será refinada antes de obter a saída. Geralmente, mais é melhor, mas há retornos decrescentes.
- Método de Amostragem: A matemática subjacente que determina como uma amostra é processada. Você pode usar qualquer um deles, mas euler_a e PLMS parecem ser as opções mais populares. Você pode ler mais sobre PLMS neste artigo.
- Restaurar rostos: usa o GFPGAN para tentar corrigir rostos estranhos ou distorcidos.
- Batch Count: O número de imagens a serem geradas.
- Tamanho do Lote: O número de “lotes”. Deixe esse valor em 1, a menos que você tenha uma grande quantidade de memória de vídeo.
- Escala CFG: Com que cuidado a difusão estável seguirá suas instruções. Números maiores significam que ele está seguindo de perto, enquanto números menores dão mais liberdade criativa.
- Largura: A largura da imagem que você deseja criar.
- Altura: A largura da imagem que você deseja criar.
- Semente: O número que fornece a entrada inicial para o gerador de números aleatórios. Deixe -1 para gerar aleatoriamente uma nova semente.
Vamos criar cinco imagens com base no prompt: “vaca da montanha em uma floresta mágica, fotografia em filme 35mm, nitidez” e ver o que obtemos usando um amostrador PLMS, 50 etapas de amostragem e uma escala CFG de 5.
Dica: Você sempre pode clicar no botão “Abortar” para interromper a geração se seu trabalho estiver demorando muito.
A janela de saída ficará assim:
Observação. Suas imagens serão diferentes.
A imagem do meio superior é a que usaremos para mascarar um pouco mais tarde. Não há realmente nenhuma razão para essa escolha específica além da preferência pessoal. Pegue qualquer imagem que você gosta.
Selecione-o e clique em Enviar para o Inpaint.
Como mascarar imagens que você cria para o inpaint
Inpainting é um recurso fantástico. Normalmente, a difusão estável é usada para criar imagens inteiras a partir de uma dica, mas a pintura interna permite que você gere (ou regenere) seletivamente partes de uma imagem. Existem duas opções críticas aqui: inpaint é mascarado, inpaint não é mascarado.
O Inpaint com uma máscara usará a dica para criar uma imagem na área selecionada, enquanto o Inpaint sem uma máscara fará exatamente o oposto – apenas a área mascarada será salva.
Primeiro, falaremos um pouco sobre o mascaramento do Inpaint. Mova o mouse sobre a imagem enquanto segura o botão esquerdo do mouse e você notará que uma camada branca aparece em cima de sua imagem. Desenhe a forma da área que deseja substituir e certifique-se de preenchê-la completamente. Você não circula ao redor da área, você mascara toda a área.
Dica: Se você está apenas adicionando algo a uma imagem existente, pode ser útil tentar alinhar a área mascarada com a forma aproximada que você está tentando criar. Mascarar uma forma triangular quando você quiser, como um círculo, é contraproducente.
Vamos pegar, por exemplo, nossa vaca da montanha e colocar um chapéu de chef nela. Mascare uma área com o formato aproximado de um chapéu de chef e certifique-se de que o Tamanho do Lote esteja definido para um valor maior que 1. Você provavelmente precisará de vários para obter o resultado perfeito.
Além disso, você deve selecionar “Ruído oculto” e não “Preencher”, “Original” ou “Nada oculto”. Ele tende a fornecer os melhores resultados quando você deseja criar um objeto totalmente novo na cena.
Nota: Você notará que a borda esquerda do chapéu removeu parte de seu chifre. Isso ocorreu porque a configuração “Mask Blur” estava muito alta. Se você vir esse tipo de coisa em suas imagens, tente diminuir o valor “Mask Blur”.
Ok, talvez um chapéu de chef não seja a melhor escolha para uma vaca da montanha. Sua vaca da montanha parece mais com as vibrações do início do século 20, então vamos dar a ela um chapéu-coco.
Quão positivamente elegante.
Claro, você também pode fazer exatamente o oposto com o Inpaint Not Masked. É conceitualmente semelhante, exceto que as áreas que você define estão de cabeça para baixo. Em vez de destacar a área que deseja alterar, você destaca as áreas que deseja manter. Isso geralmente é útil quando você deseja mover um objeto pequeno para um plano de fundo diferente.
Como corrigir o erro “CUDA sem memória”
Quanto maior a imagem que você faz, mais memória de vídeo é necessária. A primeira coisa que você deve tentar é criar imagens menores. A difusão estável produz imagens boas, embora muito diferentes, em 256×256.
Se você está ansioso para criar imagens grandes em um computador que não tem problemas com imagens de 512×512, ou está encontrando vários erros de “Memória insuficiente”, há algumas alterações de configuração que devem ajudar.
Abra “webui-user.bat” no Bloco de Notas ou em qualquer outro editor de texto. Basta clicar com o botão direito do mouse em “webui-user.bat”, clicar em “Editar” e selecionar “Bloco de Notas”. Defina a linha que lê set COMMANDLINE_ARGS=
. É aqui que você colocará os comandos para otimizar a difusão estável.
Se você quer apenas tirar imagens enormes ou não tem RAM suficiente em sua GPU da série GTX 10XX, experimente --opt-split-attention
primeiro. Isso parecerá assim:
Em seguida, clique em Arquivo > Salvar. Como alternativa, você pode pressionar Ctrl+S no teclado.
Se você ainda estiver recebendo erros de memória, tente adicioná --medvram
-los à lista de argumentos da linha de comando (COMMANDLINE_ARGS).
Você pode adicionar --always-batch-cond-uncond
para tentar corrigir problemas de memória adicionais se os comandos anteriores não ajudarem. Há também uma alternativa --medvram
que pode reduzir ainda mais o uso de VRAM --lowvram
, mas não podemos confirmar se realmente funcionará.
Adicionar uma interface de usuário é um passo importante para tornar essas ferramentas baseadas em IA acessíveis a todos. As possibilidades são quase infinitas, e mesmo uma rápida olhada nas comunidades online dedicadas à arte da inteligência artificial mostrará o quão poderosa é essa tecnologia, mesmo quando ainda está em sua infância. Claro, se você não tiver um PC para jogos ou não quiser se preocupar com a personalização, sempre poderá usar um dos geradores de arte de IA online . Apenas tenha em mente que você não pode assumir que suas entradas são privadas.
Deixe um comentário