Auto 1111 SDK: Biblioteca de Python de difusión estable
Auto 1111 SDK es una biblioteca de pitón liviana para usar imágenes de difusión estable, imágenes de ampliación e imágenes de edición con modelos de difusión. Está diseñado para ser un cliente de Python modular y ligero que encapsula todas las características principales de la UI web de difusión estable automática 1111] (https://github.com/automatic1111/stable-diffusion-webui). Auto 1111 SDK ofrece 3 características principales principales actualmente:
- TEXTO DE IMAGEN, IMAGEN DE IMAGEN, INPINICIÓN Y PUBELAS DE PERSONACIÓN. Nuestras tuberías admiten exactamente los mismos parámetros que la interfaz de usuario web de difusión estable, por lo que puede replicar fácilmente las creaciones de la interfaz de usuario web en el SDK.
- Las tuberías de mejora que pueden ejecutar una inferencia para cualquier ESRGAN o ESRGAN REAL ESCALER en algunas líneas de código.
- Una integración con Civit AI para descargar directamente modelos desde el sitio web.
Únete a nuestra discordia !!
Manifestación
Tenemos una demostración de Colab donde puede ejecutar muchas de las operaciones de Auto 1111 SDK. ¡Compruébalo aquí!
Instalación
Recomendamos instalar Auto 1111 SDK en un entorno virtual desde PYPI. En este momento, todavía no tenemos apoyo para los entornos de conda.
Para instalar la última versión de Auto 1111 SDK (con Controlnet ahora incluido), ejecute:
pip3 install git+https://github.com/saketh12/Auto1111SDK.git
Inicio rápido
Generar imágenes con Auto 1111 SDK es súper fácil. Para ejecutar inferencia para el texto de texto, imagen a imagen, interna, excursionista o de difusión estable, tenemos 1 tubería que puede soportar todas estas operaciones. Esto ahorra mucha RAM de tener que crear múltiples objetos de tubería con otras soluciones.
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" )
Control de control
En este momento, Controlnet solo funciona con FP32. Estamos agregando soporte para FP16 muy pronto.
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" )Ejecutando en Windows
Encuentra las instrucciones aquí. Contribuido por Marco Guardigli, [email protected]
Documentación
Tenemos ejemplos/documentación más detallados de cómo puede usar Auto 1111 SDK aquí. Para una comparación detallada entre nosotros y los difusores de Huggingface, puede leer esto.
Para una guía detallada sobre cómo usar SDXL, recomendamos leer esto
Características
- Modos originales de txt2img e img2img
- Real Esrgan Upscale y Esrgan Upscale (compatible con cualquier archivo PTH)
- Superación
- Entretenimiento
- Difusión estable de lujo
- Atención, especifique partes del texto a las que el modelo debería prestar más atención
- Un hombre en un
((tuxedo)) - Prestará más atención a Tuxedo - Un hombre en un
(tuxedo:1.21) - Sintaxis alternativa - Seleccione texto y presione
Ctrl+Up o Ctrl+Down (o Command+Up o Command+Down si está en un MacOS) para ajustar automáticamente la atención al texto seleccionado (código aportado por el usuario anónimo)
- Difusión compuesta: una forma de usar múltiples indicaciones a la vez
- indicaciones separadas utilizando mayúsculas y
- También admite pesas para las indicaciones: un gato: 1.2 y un perro y un pingüino: 2.2
- Funciona con una variedad de muestreadores
- Descargue modelos directamente de Civit AI y Realesrgan Checkpoints
- Establecer VAE personalizado: funciona para cualquier modelo que incluya SDXL
- Soporte para SDXL con tuberías XL de difusión estable
- Pasar argumentos personalizados a los modelos
- No 77 Límite de token rápido (a diferencia de los difusores de Huggingface, que tiene este límite)
Hoja de ruta
- Agregar soporte de contratación de contratación y parámetros de refinador para inferencia.
- Agregar soporte para Lora's
- Agregar soporte para la restauración facial
- Agregar apoyo para el guión de entrenamiento de Dreambooth.
- Agregar soporte para extensiones personalizadas como Controlnet.
Agregaremos soporte para estas funciones muy pronto. ¡También aceptamos cualquier contribución para trabajar en estos temas!
Que contribuye
Auto1111 SDK está evolucionando continuamente, y apreciamos la participación de la comunidad. Agradecemos todas las formas de contribuciones: informes de errores, solicitudes de funciones y contribuciones de código.
Informe los errores y las funciones de solicitud abriendo un problema en GitHub. Contribuir al proyecto bifurcando/clonando el repositorio y enviando una solicitud de extracción con sus cambios.
Créditos
Las licencias de código prestado se pueden encontrar en la pantalla Settings -> Licenses , y también en el archivo html/licenses.html .
- UI de difusión estable automática 1111-https://github.com/automatic1111/stable-diffusion-webui
- Difusión estable-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
- Ideas para optimizaciones - https://github.com/basujindal/stable-diffusion
- Optimización de la capa de atención cruzada - Doggettx - https://github.com/doggettx/stable-diffusion, idea original para la edición rápida.
- Optimización de la capa de atención cruzada - Invokeai, Lstein - https://github.com/invoke-ai/invokeai (originalmente http://github.com/lstein/stable-diffusion)
- Optimización de la capa de atención cruzada subcuadrática: Alex Birch (Birch-San/Diffusers#1), Amin Rezaei (https://github.com/aminrezaei0x443/memory-eficiente-asistencia)
- Inversión textual - Rinon Gal - https://github.com/rinongal/textual_inversion (no estamos usando su código, pero estamos usando sus ideas).
- Idea para SD Upscale - https://github.com/jquesnelle/txt2imghd
- Generación de ruido para superar a Mk2-https://github.com/parlance-zz/g-diffuser-bot
- IDEA DE INTERROGADOR DEL CLIP y tomando prestado algún código - https://github.com/pharmapsychotic/clip-interrogator
- Idea para la difusión compuesta-https://github.com/energy base-model/compositional-visual-generation-with- compuesto-diffusion-models-pytorch
- Xformers - https://github.com/facebookresearch/xformers
- Muestreo en Float32 Precision de un Float16 unet-marunino para la idea, abedul para la implementación de difusores de ejemplo (https://github.com/birch-san/diffusers-play/tree/92feee6)