Diffusers documentation

Переход из DiffusionPipeline

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

and get access to the augmented documentation experience

to get started

Переход из DiffusionPipeline

Если вы знакомы с DiffusionPipeline и впервые работаете с ModularPipeline, обратите внимание на несколько отличий. Они перечислены ниже, чтобы вы знали о них, прежде чем переходить к быстрому старту.

  • Loading is lazy and flexible. from_pretrained() builds the pipeline from the repository’s modular_model_index.json without loading any weights. load_components() then loads them, and it doesn’t have to be all at once: by default it loads everything, but you can load only the components you name with names, or the set one workflow needs with workflow. update_components() lets you reuse a component you already have, or one that differs from the repository’s spec. See Loading components and Updating components.
  • ModularPipeline читает другой индекс, modular_model_index.json, но также работает с репозиторием, в котором есть только model_index.json, если у модели есть модульный пайплайн. Обратное неверно: классы DiffusionPipeline и AutoPipeline не работают с репозиторием, в котором есть только modular_model_index.json.
  • Вызов возвращает состояние пайплайна, в котором также хранятся промежуточные значения (prompt_embeds, latents, …). Запросите нужные данные с помощью аргумента output: output="images" или output=["images", "latents"], либо прочитайте атрибут состояния, как показано в быстром старте. См. Состояния.
  • Classifier-free guidance поддерживается в компоненте guider, а не в аргументе вызова guidance_scale: pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). См. руководство по guiders.
  • Метод callback_on_step_end отсутствует; однако вы можете вставить блок в цикл денойзинга, чтобы использовать свои существующие функции обратного вызова. См. раздел Модульные конвейеры в руководстве по обратным вызовам.
  • Пайплайн представляет собой граф блоков, которые можно изменять (удалять, вставлять, заменять) перед сборкой с помощью init_pipeline(); pipe.blocks возвращает копию, поэтому сначала отредактируйте блоки. См. Создание новых рабочих процессов.
  • Разгрузка (offloading) обрабатывается ComponentsManager, который может обслуживать несколько конвейеров, разделяющих компоненты. См. руководство по ComponentsManager.
Update on GitHub