Você pode instalar o Stable Diffusion localmente em seu PC , mas o processo típico envolve muito trabalho com a linha de comando para instalar e usar. Felizmente para nós, a comunidade Stable Diffusion resolveu esse problema. Veja como instalar uma versão do Stable Diffusion que roda localmente com uma interface gráfica de usuário!
Índice
Stable Diffusion é um modelo de IA que pode gerar imagens a partir de prompts de texto ou modificar imagens existentes com um prompt de texto, como MidJourney ou DALL-E 2 . Foi lançado pela primeira vez em agosto de 2022 por Stability.ai. Ele compreende milhares de palavras diferentes e pode ser usado para criar praticamente qualquer imagem que sua imaginação possa imaginar em praticamente qualquer estilo.
Existem duas diferenças críticas que diferenciam o Stable Diffusion da maioria dos outros geradores populares de arte de IA:
O último ponto é realmente a questão importante aqui. Tradicionalmente, o Stable Diffusion é instalado e executado por meio de uma interface de linha de comando . Funciona, mas pode ser desajeitado, pouco intuitivo e é uma barreira significativa à entrada de pessoas que, de outra forma, estariam interessadas. Mas, como é um projeto de código aberto, a comunidade rapidamente criou múltiplas interfaces de usuário para ele e começou a adicionar seus próprios aprimoramentos, incluindo otimizações para minimizar o uso de RAM de vídeo (VRAM) e aumentar a escala e o mascaramento.
Vamos cobrir dois forks (ramificações) diferentes do Stable Diffusion do repositório principal (repo) criado e mantido por Stability.ai . Ambos têm uma interface gráfica de usuário (GUI) – tornando-os mais fáceis de usar do que o Stable Diffusion normal, que possui apenas uma interface de linha de comando – e um instalador que cuidará da maior parte da configuração automaticamente. Ambos fornecem a mesma funcionalidade básica, mas a experiência do usuário é bem diferente. O WebUI do AUTOMATIC1111 é muito intuitivo e o mais fácil de aprender e usar, mas o ComfyUI oferece uma interface de usuário interessante e poderosa baseada em nós que atrairá usuários avançados e qualquer pessoa que queira encadear vários modelos.
Como sempre, tenha cuidado com forks de software de terceiros que você encontra no GitHub. Já os usamos há algum tempo sem problemas, assim como milhares de outros, por isso estamos inclinados a dizer que é seguro. Felizmente, o código e as alterações aqui são pequenos em comparação com algumas bifurcações de projetos de código aberto.
Esses forks também contêm várias otimizações que devem permitir a execução em PCs com menos RAM, upscaling integrado e recursos faciais usando GFPGAN, ESRGAN, RealESRGAN e CodeFormer e mascaramento. O mascaramento é muito importante – ele permite que você aplique seletivamente a geração de imagens de IA a certas partes da imagem sem distorcer outras partes, um processo normalmente chamado de pintura interna.
O processo de instalação foi simplificado significativamente, mas ainda existem algumas etapas que você precisa executar manualmente antes que o instalador possa ser usado.
A primeira coisa que você deve fazer é instalar a versão do Python, 3.10.6 , recomendada pelo autor do repositório. Acesse esse link, role até o final da 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 certamente tem), basta clicar em “Atualizar”. Caso contrário, siga as instruções recomendadas.
Certifique-se de adicionar Python 3.10.6 ao PATH se tiver uma opção para isso.
Você precisa baixar e instalar o Git no Windows antes que o instalador do Stable Diffusion possa ser executado. 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 GitHub para WebUI , ComfyUI do AUTOMATIC1111 ou ambos.
Se você estiver usando o WebUI do AUTOMATIC1111, clique no botão verde “Código” e, em seguida, clique em “Baixar ZIP” na parte inferior do menu.
Se você quiser dar uma olhada no ComfyUI, role para baixo até a seção “ Instalando ” e clique em “Link direto para download”.
Abra o arquivo compactado no Explorador de Arquivos ou em seu programa de arquivamento de arquivos preferido e extraia o conteúdo onde desejar. Apenas tenha em mente que a pasta é onde você precisa ir para executar o Stable Diffusion. Este exemplo os extraiu para o diretório C:\, mas isso não é essencial.
Certifique-se de não arrastar acidentalmente “stable-diffusion-webui-master” ou “ComfyUI_windows_portable” para outra pasta em vez de um espaço vazio – se você fizer isso, ele cairá nessa pasta, não na pasta pai que você pretendia.
Existem alguns pontos de verificação necessários para que isso funcione. Os primeiros e mais importantes são os Pontos de Verificação de Difusão Estável . No momento em que este artigo foi escrito, o WebUI do AUTOMATIC1111 buscaria automaticamente os pontos de verificação da versão 1.5 para você. Se quiser usar os pontos de verificação SDXL, você precisará baixá-los manualmente . O ComfyUI não busca os pontos de verificação automaticamente. Você também pode querer pegar o ponto de verificação do refinador . Não é estritamente necessário, mas pode melhorar os resultados obtidos com o SDXL e é fácil de ligar e desligar.
O download dos pontos de verificação tem vários gigabytes. Não espere que isso seja feito instantaneamente.
Depois que os pontos de verificação forem baixados, você deverá colocá-los na pasta correta. Se você estiver seguindo exatamente o que fizemos, esse caminho será “C:\stable-diffusion-webui\models\Stable-diffusion” para WebUI do AUTOMATIC1111 ou “C:\ComfyUI_windows_portable\ComfyUI\models\checkpoints” para UI confortável.
Agora você tem opções. Você pode adicionar modelos adicionais (como ESRGAN, Loras , etc) que adicionam funções extras. Alguns simplesmente aumentam a qualidade do upscaling, enquanto outros são projetados para fornecer melhores resultados para tipos específicos de imagens, como anime, fotografias de paisagens, retratos realistas, artistas específicos ou quase qualquer outra coisa que você possa imaginar. Tanto o ComfyUI quanto o WebUI do AUTOMATIC1111 criam pastas com nomes apropriados para esses modelos adicionais – basta arrastar e soltar e pronto.
Agora você só precisa executar o arquivo em lote para o ComfyUI ou o WebUI do AUTOMATIC1111. Abra a pasta WebUI principal do AUTOMATIC1111 e clique duas vezes em “webui-user.bat” se quiser usar essa interface, ou abra a pasta ComfyUI e clique em “run_nvidia_gpu.bat” para executar o ComfyUI.
A primeira vez que você executar isso levará pelo menos alguns minutos. Ele precisa baixar um monte de coisas da Internet. Se parecer travar por um tempo excessivamente longo em uma única etapa, tente selecionar a janela do console e pressionar a tecla Enter.
Ambos serão parecidos com isso.
Quando terminar, o console exibirá:
Executando na URL local: http:// 127.0.0.1 :7860 Para criar um link público, defina `share=True` em `launch()`
O ComfyUI será executado no mesmo endereço IP, pois é uma interface web hospedada localmente, mas é executado na porta 8188 em vez de 7860.
Tudo bem, você instalou a variante WebUI do Stable Diffusion e seu console informa que está “executando no URL local: http://127.0.0.1:7860”.
O que exatamente isso significa, o que está acontecendo? 127.0.0.1 é o endereço localhost – o endereço IP fornecido pelo seu computador. Esta versão do Stable Diffusion cria um servidor em seu PC local que pode ser acessado por meio de seu próprio endereço IP, mas somente se você se conectar pela porta correta : 7860.
Abra seu 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 a Difusão Estável antes, essas configurações serão familiares para você, mas aqui está uma breve visão geral do que significam as opções mais importantes:
Vamos gerar cinco imagens com base no prompt: “uma vaca das terras altas em uma floresta mágica, fotografia de filme 35mm, nítida” e ver o que obtemos usando o amostrador de Euler, 40 etapas de amostragem e uma escala CFG de 5.
Você sempre pode clicar no botão “Interromper” para interromper a geração se o seu trabalho estiver demorando muito.
A janela de saída ficará assim:
Suas imagens serão diferentes.
A imagem inferior esquerda é a que usaremos para testar o mascaramento um pouco mais tarde. Não há realmente uma razão para esta escolha específica além da preferência pessoal. Pegue qualquer imagem que desejar.
Selecione-o e clique em “Enviar para Inpaint”.
A pintura interna é um recurso fantástico. Normalmente, a Difusão Estável é usada para criar imagens inteiras a partir de um prompt, mas a pintura interna permite gerar (ou regenerar) seletivamente partes da imagem. Existem duas opções críticas aqui: inpaint mascarado, inpaint não mascarado.
O Inpaint mascarado usará o prompt para gerar imagens dentro da área destacada, enquanto o Inpaint não mascarado fará exatamente o oposto – apenas a área mascarada será preservada.
Abordaremos um pouco sobre o Inpaint mascarado primeiro. Arraste o mouse pela imagem segurando o botão esquerdo e você notará uma camada branca aparecendo na parte superior da imagem. Desenhe o formato da área que deseja substituir e certifique-se de preenchê-la totalmente. Você não está circulando uma região, você está mascarando toda a região.
Se você estiver apenas adicionando algo a uma imagem existente, pode ser útil tentar alinhar a região mascarada com a forma aproximada que você está tentando criar. Mascarar uma forma triangular quando você deseja um círculo, por exemplo, é contraproducente.
Vamos pegar o exemplo da vaca das montanhas e dar-lhe um chapéu de chef. Mascare uma região aproximadamente no formato de um chapéu de chef e certifique-se de definir “Tamanho do lote” para mais de 1. Você provavelmente precisará de vários para obter um resultado (ish) ideal.
Além disso, você deve selecionar “Ruído Latente” em vez de “Preencher”, “Original” ou “Nada Latente”. Tende a produzir os melhores resultados quando você deseja gerar um objeto completamente novo em uma cena.
Tudo bem – talvez um chapéu de chef não seja a escolha certa para sua vaca das montanhas. Sua vaca das terras altas gosta mais das 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 Inpaint Not Masked. É conceitualmente semelhante, exceto que as regiões definidas são invertidas. Em vez de marcar a região que deseja alterar, marque as regiões que deseja preservar. Muitas vezes é útil quando você deseja mover um objeto pequeno para um fundo diferente.
ComfyUI é muito diferente do WebUI do AUTOMATIC1111, mas sem dúvida mais útil se você quiser realmente personalizar seus resultados. ComfyUI é executado em nós. Se você não está familiarizado com o funcionamento de um sistema baseado em nós, aqui está uma analogia que pode ser útil.
Imagine que a ComfyUI é uma fábrica que produz uma imagem. Dentro da fábrica há uma variedade de máquinas que fazem diversas coisas para criar uma imagem completa, assim como você pode ter várias máquinas em uma fábrica que produz carros. No caso do ComfyUI e do Stable Diffusion, você tem algumas “máquinas” ou nós diferentes. Se parece com isso:
Parece pior do que realmente é. Aqui está o que cada nó faz:
Cada nó possui vários pontos de fixação que informam o que você precisa “conectar” a cada ponto, de forma semelhante às correias transportadoras que conectam diferentes máquinas em uma fábrica. Então, se você quisesse o prompt: “uma vaca das terras altas em uma floresta mágica, fotografia de filme 35mm, nítida”, você o inseriria na caixa anexada à posição “positiva” no nó do amostrador.
Desconectamos a imagem latente e os nós do modelo para limpar a confusão da captura de tela, mas eles devem estar conectados para que o Stable Diffusion funcione.
Então você precisa escolher as configurações que deseja que o amostrador use. Você pode obter resultados totalmente diferentes aqui, dependendo do que selecionar.
Ajuste os valores de altura e largura do nó “Empty Latent Image” para alterar o tamanho da imagem de saída. Comece com 512×512 se sua GPU não tiver muita memória. Se você tiver 12 GB de VRAM (ou mais), poderá produzir imagens de 1024×1024 sem problemas. Você também pode alterar o tamanho do lote para produzir mais de uma variante de cada prompt ao iniciar a geração da imagem.
Agora você terminou. Clique em “Prompt de fila” para iniciar a geração de imagens. Você verá cada nó acender enquanto estiver ativo.
Aqui está uma das imagens que obtivemos:
ComfyUI é poderoso e extremamente flexível. Se você deseja realizar operações adicionais em uma imagem, basta clicar com o botão direito e começar a adicionar nós.
Você pode adicionar quantos nós de modelo e modificação desejar, mas lembre-se de que cada etapa do processo, cada nó adicionado, aumentará o tempo computacional. A comunidade Stable Diffusion criou um grande número de arranjos de nós pré-construídos (geralmente chamados de fluxos de trabalho) que permitem ajustar seus resultados. Testamos alguns e descobrimos que muitas vezes eles podem melhorar significativamente seus resultados. Como sempre, tenha cuidado ao baixar e usar os recursos da comunidade – a comunidade Stable Diffusion é bastante segura, mas você nunca pode ser muito cuidadoso.
Quanto maior a imagem criada, mais memória de vídeo será necessária. A primeira coisa que você deve tentar é gerar imagens menores. A difusão estável produz imagens boas – embora muito diferentes – em 256×256.
Se você deseja criar imagens maiores em um computador que não tem problemas com imagens de 512×512 ou se está enfrentando vários erros de “Sem memória”, há algumas alterações na configuração que devem ajudar.
Abra “webui-user.bat” no Bloco de Notas ou qualquer outro editor de texto simples que desejar. Basta clicar com o botão direito em “webui-user.bat”, clicar em “Editar” e selecionar Bloco de Notas. Identifique a linha que diz set COMMANDLINE_ARGS=
. É aí que você colocará os comandos para otimizar o funcionamento do Stable Diffusion.
Se você deseja apenas tirar fotos enormes ou está ficando sem RAM em uma GPU da série GTX 10XX, experimente --opt-split-attention
primeiro. Será assim:
Em seguida, clique em Arquivo > Salvar. Alternativamente, você pode pressionar Ctrl+S no teclado.
Se você ainda estiver recebendo erros de memória, tente adicionar --medvram
argumentos de linha de comando (COMMANDLINE_ARGS) à lista.
Você pode adicionar --always-batch-cond-uncond
para tentar corrigir problemas de memória adicionais se os comandos anteriores não ajudarem. Também existe uma alternativa --medvram
que pode reduzir ainda mais o uso de VRAM, --lowvram
mas não podemos atestar se realmente funcionará ou não.
A adição de uma interface de usuário é um passo crítico para tornar esses tipos de 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 de IA mostrará o quão poderosa é a tecnologia, mesmo ainda em sua infância. Claro, se você não tem um computador para jogos ou não quer se preocupar com a configuração, você sempre pode 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.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…