Auto 1111 SDK: Biblioteca Python estável de difusão
O Auto 1111 SDK é uma biblioteca Python leve para usar imagens estáveis de geração de difusão, imagens de aumento e edição de imagens com modelos de difusão. Ele foi projetado para ser um cliente Python modular e leve que encapsula todos os principais recursos da interface da web de difusão estável automática 1111] (https://github.com/automatic1111/stable-diffusion-webui). O Auto 1111 SDK oferece três principais recursos principais: atualmente:
- TEXTO-A-RAIGE, IMAGEM, PIPAÇÃO DA IMAGEM, INPINATIVA E OPLECIMENTO. Nossos pipelines suportam exatamente os mesmos parâmetros que a interface da web de difusão estável, para que você possa replicar facilmente criações da interface da web no SDK.
- Pipelines de upscaling que podem executar a inferência por qualquer upscaler de Esrgan ou Esrgan em algumas linhas de código.
- Uma integração com a Civit AI para baixar diretamente modelos do site.
Junte -se à nossa discórdia !!
Demonstração
Temos uma demonstração do Colab, onde você pode executar muitas das operações do Auto 1111 SDK. Confira aqui !!
Instalação
Recomendamos a instalação do Auto 1111 SDK em um ambiente virtual a partir da Pypi. No momento, ainda não temos suporte para ambientes do CONDA.
Para instalar a versão mais recente do Auto 1111 SDK (com ControlNet agora incluído), Run:
pip3 install git+https://github.com/saketh12/Auto1111SDK.git
Investir rápido
A geração de imagens com o Auto 1111 SDK é super fácil. Para executar a inferência por text-to-mage, imagem a imagem, pintura, superando uma escala de difusão estável, temos 1 pipeline que pode suportar todas essas operações. Isso economiza muita RAM de criar vários objetos de pipeline com outras soluções.
from auto1111sdk import StableDiffusionPipeline
pipe = StableDiffusionPipeline ( "<Path to your local safetensors or checkpoint file>" )
prompt = "a picture of a brown dog"
output = pipe . generate_txt2img ( prompt = prompt , height = 1024 , width = 768 , steps = 10 )
output [ 0 ]. save ( "image.png" )
Controlnet
No momento, o ControlNet funciona apenas com FP32. Estamos adicionando suporte ao FP16 muito em breve.
from auto1111sdk import StableDiffusionPipeline
from auto1111sdk import ControlNetModel
model = ControlNetModel ( model = "<THE CONTROLNET MODEL FILE NAME (WITHOUT EXTENSION)>" ,
image = "<PATH TO IMAGE>" )
pipe = StableDiffusionPipeline ( "<Path to your local safetensors or checkpoint file>" , controlnet = model )
prompt = "a picture of a brown dog"
output = pipe . generate_txt2img ( prompt = prompt , height = 1024 , width = 768 , steps = 10 )
output [ 0 ]. save ( "image.png" )Executando no Windows
Encontre as instruções aqui. Contribuído por Marco Guardigli, [email protected]
Documentação
Temos exemplos mais detalhados/documentação de como você pode usar o Auto 1111 SDK aqui. Para uma comparação detalhada entre nós e os difusores do HuggingFace, você pode ler isso.
Para um guia detalhado sobre como usar o SDXL, recomendamos ler isso
Características
- Modos originais txt2img e img2img
- Real Esrgan Upscale e Esrgan Upscale (compatível com qualquer arquivo PTH)
- Ultrapassar
- Painting
- Upscale de difusão estável
- Atenção, especifique partes do texto que o modelo deve prestar mais atenção a
- Um homem em A
((tuxedo)) - prestará mais atenção ao Tuxedo - Um homem em um
(tuxedo:1.21) - sintaxe alternativa - Selecione Texto e pressione
Ctrl+Up ou Ctrl+Down (ou Command+Up ou Command+Down se estiver em um macOS) para ajustar automaticamente a atenção ao texto selecionado (o código contribuído pelo usuário anônimo)
- Difusão composta: uma maneira de usar vários avisos de uma só vez
- Plactos separados usando maiúsculas e
- Também suporta pesos para prompts: um gato: 1.2 e um cachorro e um pinguim: 2.2
- Trabalha com uma variedade de amostradores
- Baixe modelos diretamente do Civit AI e Realesrgan Checkings
- Defina VAE Custom: funciona para qualquer modelo, incluindo SDXL
- Suporte para SDXL com Difusão estável XL Pipelines
- Passar em argumentos personalizados para os modelos
- Nef 77 Limite de token Prompt (diferentemente dos difusores HuggingFace, que tem esse limite)
Roteiro
- Adicionando contratações de suporte Fix e parâmetros de refinador para inferência.
- Adicionando suporte para Lora's
- Adicionando suporte para restauração de rosto
- Adicionando suporte para o Script de Treinamento Dreambooth.
- Adicionando suporte para extensões personalizadas como o ControlNet.
Estaremos adicionando suporte para esses recursos em breve. Também aceitamos quaisquer contribuições para trabalhar nessas questões!
Contribuindo
O Auto1111 SDK está evoluindo continuamente e agradecemos o envolvimento da comunidade. Congratulamo -nos com todas as formas de contribuições - relatórios de bugs, solicitações de recursos e contribuições de código.
Relatório Bugs e solicite os recursos abrindo um problema no Github. Contribua para o projeto, comprando/clonando o repositório e enviando uma solicitação de tração com suas alterações.
Créditos
As licenças para código emprestado podem ser encontradas na tela Settings -> Licenses e também no arquivo html/licenses.html .
- UI automática de difusão estável de difusão estável-https://github.com/automatic1111/stable-diffusion-webui
- Difusão estável-https://github.com/stability-ai/stablediffusion, https://github.com/compvis/taming-transformers
- K-Diffusion-https://github.com/crowsonkb/k-diffusion.git
- Esrgan - https://github.com/xinntao/esrgan
- Midas - https://github.com/isl-org/midas
- Idéias para otimizações - https://github.com/basujindal/stable-diffusion
- Otimização da camada de atenção cruzada - Doggettx - https://github.com/doggettx/stable-diffusion, idéia original para edição rápida.
- Otimização da camada de atenção cruzada - Invokeai, lstein - https://github.com/invoke-ai/invokeai (originalmente http://github.com/lstein/stable-diffusion)
- Otimização da camada de atenção cruzada sub-quadrática-Alex Birch (Birch-san/difusores#1), Amin rezaei (https://github.com/aminrezaei0x443/memory-e comidas
- Inversão textual - Rinon Gal - https://github.com/rinongal/textual_inversion (não estamos usando o código dele, mas estamos usando as idéias dele).
- IDEA PARA SD UPSCALE - https://github.com/jquesnelle/txt2imghd
- Geração de ruído para a pintura mk2-https://github.com/parlance-zz/g-diffuser-bot
- Idéia do interrogador de clipes e emprestar algum código - https://github.com/pharmapsychotic/clip-interrogator
- Idéia para difusão composta-https://github.com/energy-samed-model/compositional-visual-generação
- Xformers - https://github.com/facebookresearch/xformers
- Amostragem em Float32 Precisão de um Float16 UNET-MARUNINE PARA A IDEIA, Birch-San para o exemplo de implementação de difusores (https://github.com/birch-san/diffusers-play/tree/92feee6)