Diffusers documentation

Pontos de verificação legados

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Pontos de verificação legados

Essas configurações se aplicam principalmente a checkpoints mais antigos da família Stable Diffusion.

Verificador de segurança

O Diffusers fornece um safety checker para checkpoints mais antigos do Stable Diffusion para evitar a geração de conteúdo prejudicial. Ele analisa a saída gerada em relação a um conjunto de conceitos prejudiciais pré-definidos. Modelos mais recentes, como o Qwen-Image, não possuem esse verificador.

Se você deseja desabilitar o verificador de segurança, passe safety_checker=None em from_pretrained() conforme mostrado abaixo.

from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
  "stable-diffusion-v1-5/stable-diffusion-v1-5", safety_checker=None
)
"""
You have disabled the safety checker for <class 'diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline'> by passing `safety_checker=None`. Ensure that you abide by the conditions of the Stable Diffusion license and do not expose unfiltered results in services or applications open to the public. Both the diffusers team and Hugging Face strongly recommend keeping the safety filter enabled in all public-facing circumstances, disabling it only for use cases that involve analyzing network behavior or auditing its results. For more information, please have a look at https://github.com/huggingface/diffusers/pull/254 .
"""

Reescalonando agendamentos

O desruído começa com ruído puro, portanto, a razão de sinal para ruído (SNR) inicia em zero. Alguns modelos não começam realmente do ruído puro, o que torna difícil gerar extremos claros e escuros.

Treine seu próprio modelo com v_prediction adicionando a flag --prediction_type="v_prediction" ao seu script de treinamento. Você também pode buscar por modelos existentes treinados com v_prediction.

Para um modelo v_prediction, ative esses argumentos do agendador.

  • Defina rescale_betas_zero_snr=True para reescalar o agendamento de ruído para o último timestep com SNR exatamente zero
  • Defina timestep_spacing="trailing" para forçar a amostragem a partir do último timestep com ruído puro
from diffusers import DiffusionPipeline, DDIMScheduler

pipeline = DiffusionPipeline.from_pretrained("ptx0/pseudo-journey-v2", device_map="cuda")  # or "mps", "xpu", "cpu"

pipeline.scheduler = DDIMScheduler.from_config(
    pipeline.scheduler.config, rescale_betas_zero_snr=True, timestep_spacing="trailing"
)

Defina guidance_rescale no pipeline para evitar imagens superexpostas. Um valor menor aumenta o brilho, mas alguns detalhes podem parecer lavados.

prompt = """
cinematic photo of a snowy mountain at night with the northern lights aurora borealis
overhead, 35mm photograph, film, professional, 4k, highly detailed
"""
image = pipeline(prompt, guidance_rescale=0.7).images[0]
sem SNR zero
com SNR zero e espaçamento final
Update on GitHub