Diffusers documentation
Pontos de verificação legados
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_predictionadicionando a flag--prediction_type="v_prediction"ao seu script de treinamento. Você também pode buscar por modelos existentes treinados comv_prediction.
Para um modelo v_prediction, ative esses argumentos do agendador.
- Defina
rescale_betas_zero_snr=Truepara 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]