Buckets:

mishig's picture
|
download
raw
5.81 kB

Otomatik dokümantasyon dizgesi ve parametre şablonları

Her ModularPipelineBlocks öğesi, description, inputs, intermediate_outputs, expected_components ve expected_configs alanlarından otomatik olarak oluşturulan bir doc özelliğine sahiptir. 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.

Alan Tür Açıklama
name str Parametrenin adı
type_hint Any Tip anotasyonu (ör. str, torch.Tensor)
default Any Varsayılan değer (ayarlanmazsa, parametrenin varsayılanı yoktur)
required bool Parametrenin zorunlu olup olmadığı
description str İnsan okunabilir açıklama
kwargs_type str İlgili parametreler için grup adı (ör. "denoiser_input_fields")
metadata dict İ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.

Alan Tür Açıklama
name str Parametrenin adı
type_hint Any Tip anotasyonu
description str İnsan okunabilir açıklama
kwargs_type str İlgili parametreler için grup adı
metadata dict İ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.

Xet Storage Details

Size:
5.81 kB
·
Xet hash:
c2c16173467fcd3b55dccc7516cdb2c0a106517287011521735983195003c3d3

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.