onnx-web
onnx-web foi projetado para simplificar o processo de execução do Stable Diffusion e outros modelos ONNX para que você possa se concentrar em fazer arte de alta qualidade e alta resolução. Com a eficiência da aceleração de hardware em GPUs AMD e Nvidia e oferecendo um substituto confiável de software de CPU, ele oferece o conjunto completo de recursos em desktops, laptops e servidores multi-GPU com uma experiência de usuário perfeita.
Você pode navegar pela interface da web amigável, hospedada nas páginas do Github e acessível em todos os principais navegadores, incluindo seu dispositivo móvel. Aqui você tem flexibilidade para escolher modelos de difusão e aceleradores para cada pipeline de imagem, com fácil acesso aos parâmetros de imagem que definem cada modo. Esteja você enviando imagens ou expressando seu toque artístico por meio de pintura interna e externa, o onnx-web oferece um ambiente que é tão fácil de usar quanto poderoso. As imagens de saída recentes são apresentadas de forma organizada abaixo dos controles, servindo como uma referência visual útil para revisitar parâmetros anteriores ou remixar suas saídas anteriores.
Mergulhe mais fundo na experiência onnx-web com sua API, compatível com Linux e Windows. Essa interface RESTful integra perfeitamente vários pipelines da biblioteca de difusores HuggingFace, oferecendo metadados valiosos sobre modelos e aceleradores, juntamente com resultados detalhados de suas execuções criativas.
Embarque em sua jornada artística generativa com onnx-web e explore seus recursos por meio de nosso site de documentação detalhada. Encontre um guia de primeiros passos abrangente, um guia de configuração e um guia do usuário esperando para capacitar seus esforços criativos!
Por favor, verifique o site de documentação para mais informações:
- guia de primeiros passos
- guia de configuração
- guia do usuário
Características
Esta é uma lista incompleta de recursos novos e interessantes:
- suporta SDXL e SDXL Turbo
- ampla variedade de agendadores: DDIM, DEIS, DPM SDE, Euler Ancestral, LCM, UniPC e muito mais
- aceleração de hardware em AMD e Nvidia
- testado em CUDA, DirectML e ROCm
- suporte de meia precisão para GPUs com pouca memória em AMD e Nvidia
- fallback de software para sistemas somente CPU
- aplicativo web para gerar e visualizar imagens
- hospedado em páginas do Github, de seu CDN ou localmente
- persiste suas imagens recentes e seu progresso conforme você muda de guia
- enfileirar várias imagens e repetir erros
- traduções disponíveis para inglês, francês, alemão e espanhol (abra uma edição para mais informações)
- suporta muitos pipelines
diffusers
- txt2img
- img2img
- pintura interna, com desenho de máscara e upload
- panorama, para SD v1.5 e SDXL
- upscaling, com aceleração ONNX
- adicione e use seus próprios modelos
- converter modelos de difusores e pontos de verificação SD
- baixar modelos do hub HuggingFace, Civitai e fontes HTTPS
- misture redes adicionais
- mistura permanente e imediata
- suporta pesos LoRA e LyCORIS
- suporta conceitos e incorporações de inversão textual
- cada camada dos embeddings pode ser controlada e usada individualmente
- ControlNet
- filtros de imagem para detecção de bordas e outros métodos
- com aceleração ONNX
- modo de alta resolução
- executa img2img nos resultados dos outros pipelines
- múltiplas iterações podem produzir imagens de 8k e maiores
- prompts de vários estágios e regiões
- combine perfeitamente vários prompts na mesma imagem
- fornecer instruções para diferentes áreas da imagem e combiná-las
- altere o prompt para o modo de alta resolução e refine os detalhes sem recursão
- comprimento infinito do prompt
- com ponderação longa e imediata
- modo de mesclagem de imagem
- combinar imagens da história
- upscaling e correção
- upscaling com Real ESRGAN, SwinIR e Stable Diffusion
- correção facial com CodeFormer e GFPGAN
- O servidor API pode ser executado remotamente
- A API REST pode ser servida por HTTPS ou HTTP
- processamento em segundo plano para todos os pipelines de imagens
- pesquisa de status de imagem, funciona bem com balanceadores de carga
- Contêineres OCI fornecidos
- para todos os aceleradores de hardware suportados
- inclui o pacote API e GUI em um único contêiner
- funciona bem em RunPod, Vast.ai e outros serviços de hospedagem de contêineres de GPU
Conteúdo
- onnx-web
- Características
- Conteúdo
- Configurar
- Adicionando seus próprios modelos
- Uso
- Erros conhecidos e soluções
- Executando os contêineres
- Créditos
Configurar
Existem algumas maneiras de executar o onnx-web:
- plataforma cruzada:
- clone este repositório, crie um ambiente virtual e execute
pip install
- puxando e executando os contêineres OCI
- no Windows:
- clone este repositório e execute um dos scripts
setup-*.bat
- baixe e execute o pacote multifuncional experimental
Você só precisa executar o servidor e não precisa compilar nada. A GUI do cliente está hospedada nas páginas do Github e está incluída no pacote multifuncional do Windows.
Os documentos de configuração estendidos foram movidos para o guia de configuração.
Adicionando seus próprios modelos
Você pode adicionar seus próprios modelos baixando-os do HuggingFace Hub ou Civitai ou convertendo-os de arquivos locais, sem fazer nenhuma alteração no código. Você também pode baixar e combinar redes adicionais, como LoRAs e Inversões Textuais, usando tokens no prompt.
Uso
Erros conhecidos e soluções
Consulte a seção Erros conhecidos do guia do usuário.
Executando os contêineres
Isso foi movido para o guia de administração do servidor.
Créditos
Parte do código de conversão e pipeline foi copiado ou derivado do código em:
-
Amblyopius/Stable-Diffusion-ONNX-FP16
- GPL v3: https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/LICENSE
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_controlnet.py
- https://github.com/Amblyopius/Stable-Diffusion-ONNX-FP16/blob/main/pipeline_onnx_stable_diffusion_instruct_pix2pix.py
-
d8ahazard/sd_dreambooth_extension
- Licença não comercial: https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/license.md
- https://github.com/d8ahazard/sd_dreambooth_extension/blob/main/dreambooth/sd_to_diff.py
-
huggingface/diffusers
- Apache v2: https://github.com/huggingface/diffusers/blob/main/LICENSE
- https://github.com/huggingface/diffusers/blob/main/scripts/convert_stable_diffusion_checkpoint_to_onnx.py
-
uchuusen/onnx_stable_diffusion_controlnet
- GPL v3: https://github.com/uchuusen/onnx_stable_diffusion_controlnet/blob/main/LICENSE
-
uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix
- Apache v2: https://github.com/uchuusen/pipeline_onnx_stable_diffusion_instruct_pix2pix/blob/main/LICENSE
Essas partes têm licenças próprias com restrições adicionais ao uso comercial, modificação e redistribuição. O restante do projeto é fornecido sob licença do MIT e estou trabalhando para isolar esses componentes em uma biblioteca.
Existem muitas outras boas opções para usar Difusão Estável com aceleração de hardware, incluindo:
- https://github.com/Amblyopius/AMD-Stable-Diffusion-ONNX-FP16
- https://github.com/azuritecoin/OnnxDiffusersUI
- https://github.com/ForserX/StableDiffusionUI
- https://github.com/pingzing/stable-diffusion-playground
- https://github.com/quickwick/stable-diffusion-win-amd-ui
Configurar e executar isso na AMD não teria sido possível sem os guias de:
- https://gist.github.com/harishanand95/75f4515e6187a6aa3261af6ac6f61269
- https://gist.github.com/averad/256c507baa3dcc9464203dc14610d674
- https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs
- https://www.travelneil.com/stable-diffusion-updates.html