Buckets:
| # Pipelines do Stable Diffusion | |
| Stable Diffusion é um modelo de difusão latente de texto para imagem criado pelos pesquisadores e engenheiros do [CompVis](https://github.com/CompVis), [Stability AI](https://stability.ai/) e [LAION](https://laion.ai/). A difusão latente aplica o processo de difusão em um espaço latente de dimensão inferior para reduzir a complexidade de memória e de computação. Esse tipo específico de modelo de difusão foi proposto em [High-Resolution Image Synthesis with Latent Diffusion Models](https://huggingface.co/papers/2112.10752) por Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, Björn Ommer. | |
| O Stable Diffusion é treinado em imagens de 512x512 de um subconjunto do conjunto de dados LAION-5B. Este modelo usa um codificador de texto CLIP ViT-L/14 congelado para condicionar o modelo em prompts de texto. Com seu UNet de 860M e codificador de texto de 123M, o modelo é relativamente leve e pode ser executado em GPUs de consumo. | |
| Para mais detalhes sobre como o Stable Diffusion funciona e como ele difere do modelo base de difusão latente, confira o [anúncio](https://stability.ai/blog/stable-diffusion-announcement) da Stability AI e nosso próprio [post de blog](https://huggingface.co/blog/stable_diffusion#how-does-stable-diffusion-work) para mais detalhes técnicos. | |
| Você pode encontrar o código original do Stable Diffusion v1.0 em [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion) e o do Stable Diffusion v2.0 em Stability-AI/stablediffusion, além dos scripts originais para diversas tarefas. Checkpoints oficiais adicionais para as diferentes versões e tarefas do Stable Diffusion podem ser encontrados nas organizações [CompVis](https://huggingface.co/CompVis) e [Stability AI](https://huggingface.co/stabilityai) no Hub. Explore essas organizações para encontrar o melhor checkpoint para o seu caso de uso! | |
| A tabela abaixo resume os pipelines do Stable Diffusion disponíveis, as tarefas suportadas e uma demonstração interativa: | |
| Pipeline | |
| Tarefas suportadas | |
| 🤗 Space | |
| StableDiffusion | |
| texto-para-imagem | |
| StableDiffusionImg2Img | |
| imagem-para-imagem | |
| StableDiffusionInpaint | |
| inpainting | |
| StableDiffusionDepth2Img | |
| depth-to-image | |
| StableDiffusionImageVariation | |
| variação de imagem | |
| StableDiffusionPipelineSafe (Descontinuado; sem página de documentação) | |
| texto-para-imagem filtrado | |
| StableDiffusion2 | |
| texto-para-imagem, inpainting, profundidade-para-imagem, super-resolução | |
| StableDiffusionXL | |
| texto-para-imagem, imagem-para-imagem | |
| StableDiffusionLatentUpscale | |
| super-resolução | |
| StableDiffusionUpscale | |
| super-resolução | |
| StableDiffusionLDM3D | |
| texto-para-rgb, texto-para-profundidade, texto-para-pano | |
| StableDiffusionUpscaleLDM3D | |
| super-resolução do ldm3d | |
| ## Dicas | |
| Para ajudar você a aproveitar ao máximo os pipelines do Stable Diffusion, aqui estão algumas dicas para melhorar o desempenho e a usabilidade. Essas dicas se aplicam a todos os pipelines do Stable Diffusion. | |
| ### Explore o compromisso entre velocidade e qualidade | |
| [StableDiffusionPipeline](/docs/diffusers/main/pt/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline) usa o [PNDMScheduler](/docs/diffusers/main/pt/api/schedulers/pndm#diffusers.PNDMScheduler) por padrão, mas o 🤗 Diffusers oferece muitos outros agendadores compatíveis (alguns mais rápidos ou com melhor qualidade de saída). Por exemplo, se você quiser usar o [EulerDiscreteScheduler](/docs/diffusers/main/pt/api/schedulers/euler#diffusers.EulerDiscreteScheduler) em vez do padrão: | |
| ```py | |
| from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler | |
| pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4") | |
| pipeline.scheduler = EulerDiscreteScheduler.from_config(pipeline.scheduler.config) | |
| # or | |
| euler_scheduler = EulerDiscreteScheduler.from_pretrained("CompVis/stable-diffusion-v1-4", subfolder="scheduler") | |
| pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", scheduler=euler_scheduler) | |
| ``` | |
| ### Reutilize componentes de pipeline para economizar memória | |
| Para economizar memória e usar os mesmos componentes em vários pipelines, use o método `.components` para evitar carregar os pesos na RAM mais de uma vez. | |
| ```py | |
| from diffusers import ( | |
| StableDiffusionPipeline, | |
| StableDiffusionImg2ImgPipeline, | |
| StableDiffusionInpaintPipeline, | |
| ) | |
| text2img = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4") | |
| img2img = StableDiffusionImg2ImgPipeline(**text2img.components) | |
| inpaint = StableDiffusionInpaintPipeline(**text2img.components) | |
| # now you can use text2img(...), img2img(...), inpaint(...) just like the call methods of each respective pipeline | |
| ``` | |
| ### Crie demonstrações web usando `gradio` | |
| Os pipelines do Stable Diffusion são suportados automaticamente no [Gradio](https://github.com/gradio-app/gradio/), uma biblioteca que facilita a criação de aplicativos de machine learning bonitos e fáceis de usar na web. Primeiro, verifique se o Gradio está instalado: | |
| ```sh | |
| pip install -U gradio | |
| ``` | |
| Em seguida, crie uma demonstração web em torno de qualquer pipeline baseado em Stable Diffusion. Por exemplo, você pode criar um pipeline de geração de imagens em uma única linha de código com a função [`Interface.from_pipeline`](https://www.gradio.app/docs/interface#interface-from-pipeline) do Gradio: | |
| ```py | |
| from diffusers import StableDiffusionPipeline | |
| import gradio as gr | |
| pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4") | |
| gr.Interface.from_pipeline(pipe).launch() | |
| ``` | |
| que abre uma interface intuitiva de arrastar e soltar no seu navegador: | |
|  | |
| Da mesma forma, você poderia criar uma demonstração para um pipeline de imagem-para-imagem com: | |
| ```py | |
| from diffusers import StableDiffusionImg2ImgPipeline | |
| import gradio as gr | |
| pipe = StableDiffusionImg2ImgPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5") | |
| gr.Interface.from_pipeline(pipe).launch() | |
| ``` | |
| Por padrão, a demonstração web é executada em um servidor local. Se você quiser compartilhá-la com outras pessoas, pode gerar um link público temporário definindo `share=True` em `launch()`. Ou, você pode hospedar sua demonstração no [Hugging Face Spaces](https://huggingface.co/spaces)https://huggingface.co/spaces para obter um link permanente. | |
Xet Storage Details
- Size:
- 7.73 kB
- Xet hash:
- b659c0b6ecf791fae4187f45bc98ced301134ccd26c9b869f161213036bab58c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.