Agora, alguns de nós não têm GPUs sofisticadas. Tudo bem. Podemos rodar o Stable Diffusion em nossos CPUs.
Esta é uma implementação extremamente básica do Stable Diffusion, não espere recursos de ponta.
Se você tem uma GPU compatível que possui 2-4gb Vram ou mais, experimente o guia Voldy.
Para a maioria dos propósitos, pode ser mais prático usar um serviço web ou um colab para o Stable Diffusion.
Mas há algo especial em poder gerar em seu próprio humilde CPU.
Todo crédito vai para bes-dev e rpyth
- Recursos
Txt2img/img2img
Prompts negativos
Fila de prompts
Aumento de escala
Suporte a Waifu Diffusion
- Requisitos Mínimos:
Windows/Linux
Python 3.8.+ (incluído no Miniconda)
CPU compatível com OpenVINO (a maioria das CPUs)
8gb RAM (mal o suficiente, 16gb+ recomendado)
- Quão rápido é?
Pode não ser tão rápido quanto uma GPU dedicada devido ao gargalo de velocidade da memória, mas também não é lento.
Para qualquer CPU dos últimos 10 anos, incluindo as de laptop, não deve levar muito mais do que alguns minutos por resultado de 512x.
O framework openVINO é incrivelmente otimizado e rápido, especialmente para CPUs Intel, e irá extrair o máximo potencial do seu hardware.
Guia
Passo 1. Instale o Git se você ainda não o tiver.
-Ao instalar, certifique-se de selecionar a integração do Windows Explorer > Git Bash.
Passo 2. (W10) Pressione a tecla do Windows + I para abrir o painel de controle e pesquise por “Modo Desenvolvedor”, ativando-o on.
Passo 3. Baixe o Miniconda AQUI. Baixe o Miniconda 3.
-Instale o Miniconda na localização padrão. Instale para todos os usuários.
Passo 4. Clone o repositório.
-Clique com o botão direito na sua localização desejada e selecione ‘Git Bash aqui’
-Digite git clone https://github.com/bes-dev/stable_diffusion.openvino
Alternativamente, você pode baixá-lo como um .zip Aqui e extrair.
Passo 5. Abra o Anaconda Prompt (miniconda3).
Navegue até a /stable-diffusion-v1-4-openvino pasta onde você baixou usando “cd” para pular pastas.
(Ou apenas digite “cd” seguido de um espaço e arraste a pasta para o prompt do Anaconda.)
Passo 6. Digite os seguintes comandos no Miniconda para configurar seu ambiente:
conda create --name vin python=3.9 pip
conda activate vin
conda install pip
pip install -r requirements.txt
pip install Pillow pyyaml sv-ttk
Espere pacientemente enquanto os recursos necessários são instalados, isso pode levar um tempo.
Passo 7. Baixe os scripts pyGUI
Extraia e copie todos os arquivos para a sua pasta principal /stable-diffusion-v1-4-openvino e clique em substituir em qualquer conflito de arquivos.
Passo 8. Baixe o upscaler RealESRGAN (versão linux)
Descompacte e coloque a pasta dentro de /stable-diffusion-v1-4-openvino
E você está pronto.
Uso
1. Abra o prompt do Miniconda e navegue até /stable-diffusion-v1-4-openvino como antes.
2. Digite conda activate vin (Você precisará fazer isso toda vez que executar o script).
3. Digite python pygui.py.
CONFIGURAÇÃO DA PRIMEIRA VEZ
Vá para Configurações -> Configurar na GUI.
-Clique em [?] para abrir o navegador de arquivos e vincular o executável do RealESRGAN clicando em ‘abrir’.
-Vincule seu arquivo demo.py da pasta openvino da mesma forma.
-Adicione o caminho para o seu executável Python, deve ser C:\ProgramData\Miniconda3\python.exe.
-Clique em salvar.
Geração
- Vá para Fila -> Adicionar Item para inserir um novo prompt.
- Ou Fila -> Restaurar Item para carregar seu último prompt inserido.
Prompt: Palavras-chave descrevendo o que você quer, seja descritivo para melhores resultados.
Unprompt: Palavras-chave descrevendo o que você não quer na sua imagem.
Saída: Caminho de saída e nome do seu .png de saída.
Imagem: Img2Img, selecione um arquivo de imagem para criar variantes dele.
Passos: Quantas iterações devem ser feitas para a saída. Mais = melhor. 35-55 é o ponto ideal. >75 é exagero.
Seed: Semente para a saída, aleatória por padrão.
Aumentar: Escolha como você quer que sua imagem seja aumentada.
Config: Salve informações sobre sua saída.
Links/Notas
- Se você está recebendo erros de versão do Python com 3.10 e não quer ter instalações conflitantes, experimente o portátil Winpython 3.9.
- Você pode colocar em fila Múltiplos prompts diferentes para rodar um após o outro.
Isso pode ser muito conveniente, já que você não precisa esperar uma saída terminar para inserir um novo prompt).
- Se você não selecionar uma pasta de saída, elas serão salvas em /appdata/local/tmp. Clique em ‘salvar como’ para não perdê-las).
- Se suas saídas estão ou se tornam incomumente lentas (10-15+ minutos),
é provável que seu limite de RAM tenha sido excedido e o SD esteja usando a partição de swap no seu disco como RAM improvisada. (Problema comum com 8gb).
Feche todos os outros programas e libere mais memória.
- Stable Diffusion openVINO Github
- Stable Diffusion openVINO page
- Litechan page
- Progrock upscaler (compatível com openVINO)
–VELOCIDADE POR RESULTADO–
(Intel(R) Core(TM) i5-8279U) 7.4 s/it 3.59 min
(AMD Ryzen Threadripper 1900X) 5.34 s/it 2.58 min
(Intel(R) Xeon(R) Gold 6154 CPU) 1 s/it 33 s