Diffusers documentation

Otomatik dokümantasyon dizgesi ve parametre şablonları

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Otomatik dokümantasyon dizgesi ve parametre şablonları

Her ModularPipelineBlocks öğesi, doc adlı bir özelliğe sahiptir ve bu özellik, description, inputs, intermediate_outputs, expected_components ve expected_configs alanlarından otomatik olarak oluşturulur. Otomatik docstring sistemi, docstring'lerin bloğun gerçek arayüzüyle senkron kalmasını sağlar. Parametre şablonları, birçok pipeline'da yer alan parametreler için standartlaştırılmış açıklamalar sunar.

Otomatik dokümantasyon dizgesi

Modüler pipeline blokları birleştirilebilir — bunları iç içe yerleştirebilir, diziler halinde zincirleyebilir ve serbestçe yeniden düzenleyebilirsiniz. Dokümantasyon dizgileri (docstring) aynı kalıbı izler. Bir SequentialPipelineBlocks alt bloklarından gelen girdileri ve çıktıları topladığında, dokümantasyon manuel yeniden yazımlar gerektirmeden otomatik olarak güncellenmelidir.

# auto_docstring işareti, bloğun özelliklerinden dokümantasyon dizeleri (docstring) üretir. Sınıfın otomatik dokümantasyon dizesi üretilmesini belirtmek için sınıf tanımının üzerine ekleyin.

# auto_docstring
class FluxTextEncoderStep(SequentialPipelineBlocks):
    ...

Belgeleri oluşturmak ve eklemek için aşağıdaki komutu çalıştırın.

python utils/modular_auto_docstring.py --fix_and_overwrite

Yardımcı, bloğun doc özelliğini okur ve onu sınıf docstring'i olarak ekler.

# auto_docstring
class FluxTextEncoderStep(SequentialPipelineBlocks):
    """
    Text input processing step that standardizes text embeddings for the pipeline.

    Inputs:
        prompt_embeds (`torch.Tensor`) *required*:
            text embeddings used to guide the image generation.
        ...

    Outputs:
        prompt_embeds (`torch.Tensor`):
            text embeddings used to guide the image generation.
        ...
    """

Ayrıca üzerine yazmadan da kontrol edebilir veya belirli bir dosya veya dizini hedefleyebilirsiniz.

# Check that all marked classes have up-to-date docstrings
python utils/modular_auto_docstring.py

# Check a specific file or directory
python utils/modular_auto_docstring.py src/diffusers/modular_pipelines/flux/

İşaretlenen sınıflardan herhangi birinde docstring eksikse, kontrol başarısız olur ve güncellenmesi gereken sınıfları listeler.

Found the following # auto_docstring markers that need docstrings:
- src/diffusers/modular_pipelines/flux/encoders.py: FluxTextEncoderStep at line 42

Run `python utils/modular_auto_docstring.py --fix_and_overwrite` to fix them.

Parametre şablonları

InputParam ve OutputParam, bir bloğun girdilerini ve çıktıları tanımlar. Bunları doğrudan oluşturabilir veya prompt, num_inference_steps veya latents gibi yaygın parametrelerin standart tanımları için .template() kullanabilirsiniz.

InputParam

InputParam, bir bloğa ait tek bir girdiyi tanımlar.

AlanTürAçıklama
namestrParametrenin adı
type_hintAnyTip anotasyonu (ör. str, torch.Tensor)
defaultAnyVarsayılan değer (ayarlanmazsa, parametrenin varsayılanı yoktur)
requiredboolParametrenin zorunlu olup olmadığı
descriptionstrİnsan okunabilir açıklama
kwargs_typestrİlgili parametreler için grup adı (ör. "denoiser_input_fields")
metadatadictİsteğe bağlı ek bilgiler

InputParam'ı doğrudan oluşturma

from diffusers.modular_pipelines import InputParam

InputParam(
    name="guidance_scale",
    type_hint=float,
    default=7.5,
    description="Scale for classifier-free guidance.",
)

Şablon kullanma

InputParam.template("prompt")
# Equivalent to:
# InputParam(name="prompt", type_hint=str, required=True,
#            description="The prompt or prompts to guide image generation.")

Şablonlar name, type_hint, default, required ve description alanlarını otomatik olarak ayarlar. Herhangi bir alanı geçersiz kılabilir veya note parametresiyle bağlam ekleyebilirsiniz.

# Override the default value
InputParam.template("num_inference_steps", default=28)

# Add a note to the description
InputParam.template("prompt_embeds", note="batch-expanded")
# description becomes: "text embeddings used to guide the image generation. ... (batch-expanded)"

OutputParam

OutputParam, bir bloktan gelen tek bir çıktıyı tanımlar.

AlanTürAçıklama
namestrParametrenin adı
type_hintAnyTip anotasyonu
descriptionstrİnsan okunabilir açıklama
kwargs_typestrİlgili parametreler için grup adı
metadatadictİsteğe bağlı ek bilgiler

OutputParam'ı doğrudan oluşturma

from diffusers.modular_pipelines import OutputParam

OutputParam(name="image_latents", type_hint=torch.Tensor, description="Encoded image latents.")

Şablon kullanma

OutputParam.template("latents")

# Add a note to the description
OutputParam.template("prompt_embeds", note="batch-expanded")

Mevcut şablonlar

INPUT_PARAM_TEMPLATES ve OUTPUT_PARAM_TEMPLATES, modular_pipeline_utils.py dosyasında tanımlanır. Bunlar prompt, image, num_inference_steps, latents, prompt_embeds gibi ortak parametreleri içerir. Kullanılabilir şablon adlarının tam listesi için kaynağa başvurun.

Update on GitHub