Diffusers documentation
Переход из DiffusionPipeline
Начало работы
Вывод
Использование конвейеров диффузии
Адаптеры и персонализация
Оптимизация и масштабирование
Базовая производительность
Скорость и память
Распределённый вывод
Квантование
Ускорение для конкретного оборудования
Методы сообщества
Модульные Diffusers
ОбзорБыстрый стартПереход из DiffusionPipelineСостоянияModularPipelineBlocksSequentialPipelineBlocksLoopSequentialPipelineBlocksAutoPipelineBlocksModularPipelineГидыComponentsManagerАвтоматические шаблоны docstring и параметровСоздание пользовательских блоковИспользование пользовательских блоков с Mellon
Обучение и дообучение
Ресурсы
Внести вклад
API
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).
Переход из DiffusionPipeline
Если вы знакомы с DiffusionPipeline и впервые работаете с ModularPipeline, обратите внимание на несколько отличий. Они перечислены ниже, чтобы вы знали о них, прежде чем переходить к быстрому старту.
- Loading is lazy and flexible. from_pretrained() builds the pipeline from the repository’s
modular_model_index.jsonwithout 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 withnames, or the set one workflow needs withworkflow. 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.