Diffusers documentation
Одиночные файлы
Одиночные файлы
Метод from_single_file() позволяет загрузить:
- модель, хранящаяся в одном файле, что удобно при работе с моделями из экосистемы диффузии, например, с Automatic1111, где для хранения и обмена моделями обычно используется структура с одним файлом
- модель, сохраненная в исходном формате распределения, что полезно, если вы работаете с моделями, дообученными с помощью других сервисов, и хотите загрузить ее напрямую в объекты моделей и конвейеры Diffusers
Ознакомьтесь с руководством Файлы и структура моделей, чтобы узнать больше о структуре Diffusers-multifolder по сравнению с однофайловой структурой, а также о том, как загружать модели, хранящиеся в этих разных структурах.
Поддерживаемые конвейеры
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
StableDiffusionXLKDiffusionPipeline- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
StableDiffusionControlNetXSPipelineStableDiffusionXLControlNetXSPipeline- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
PIAPipeline
Поддерживаемые модели
- UNet2DConditionModel
StableCascadeUNet- AutoencoderKL
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
Загрузите веса модели, сохранённые в формате .ckpt, в DiffusionPipeline.
from_single_file
< source >( pretrained_model_link_or_path**kwargs )
Параметры
- pretrained_model_link_or_path (
strилиos.PathLike, необязательный) — Может быть:- Ссылка на файл
.ckpt(например,"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") на Hub. - Путь к файлу, содержащему все веса конвейера.
- Ссылка на файл
- dtype (
strилиtorch.dtype, необязательный) — Переопределяет стандартныйtorch.dtypeи загружает модель с другим dtype. - force_download (
bool, необязательный, по умолчаниюFalse) — Следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, игнорируя кэшированные версии, если они существуют. - cache_dir (
str | os.PathLike, необязательный) — Путь к каталогу, в котором кэшируется загруженная конфигурация предобученной модели, если стандартный кэш не используется. - proxies (
dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке, например,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Прокси применяются при каждом запросе. - local_files_only (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли загружать только локальные веса модели и файлы конфигурации. Если установлено значениеTrue, модель не будет скачана с Hub. - token (
strили bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. ЕслиTrue, используется токен, сгенерированный командойdiffusers-cli login(сохранённый в~/.huggingface). - revision (
str, необязательный, по умолчанию"main") — Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git. - original_config_file (
str, необязательный) — Путь к исходному файлу конфигурации, который использовался для обучения модели. Если не указан, файл конфигурации будет определен из файла контрольной точки. - config (
str, необязательный) — Может быть одним из:- Строка, repo id (например,
CompVis/ldm-text2im-large-256) предобученного пайплайна, размещенного на Hub. - Путь к каталогу (например,
./my_pipeline_directory/), содержащему конфигурации компонентов пайплайна в формате Diffusers.
- Строка, repo id (например,
- disable_mmap (‘bool’, необязательный, по умолчанию ‘False’) — Определяет, следует ли отключать mmap при загрузке модели Safetensors. Этот параметр может обеспечить лучшую производительность, если модель находится на сетевом диске или жёстком диске.
- kwargs (остальные именованные аргументы в виде словаря, необязательно) —
Можно использовать для переопределения переменных загрузки и сохранения (компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод
__init__конвейера. Подробнее см. пример ниже.
Создайте экземпляр DiffusionPipeline из предобученных весов пайплайна, сохранённых в формате .ckpt или .safetensors. По умолчанию пайплайн устанавливается в режим оценки (model.eval()).
Примеры:
>>> from diffusers import StableDiffusionPipeline
>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )
>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")
>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
... "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
... torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")FromOriginalModelMixin
Загрузите предобученные веса, сохранённые в формате .ckpt или .safetensors, в модель.
from_single_file
< source >( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )
Параметры
- pretrained_model_link_or_path_or_dict (
str, необязательный) — Может быть одним из следующих:- Ссылка на файл
.safetensorsили.ckpt(например,"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") на Hub. - Путь к локальному файлу, содержащему веса компонентной модели.
- Словарь состояний, содержащий веса компонентной модели.
- Ссылка на файл
- config (
str, необязательный) —- Строка, repo id (например,
CompVis/ldm-text2im-large-256) предобученного пайплайна, размещенного на Hub. - Путь к каталогу (например,
./my_pipeline_directory/), содержащему конфигурации компонентов пайплайна в формате Diffusers.
- Строка, repo id (например,
- subfolder (
str, необязательный, по умолчанию"") — Расположение подпапки файла модели внутри более крупного репозитория моделей на Hub или локально. - original_config (
str, необязательный) — Словарь или путь к файлу yaml, содержащему конфигурацию модели в исходном формате. Если передан словарь, он будет использован для инициализации конфигурации модели. - dtype (
torch.dtype, необязательный) — Переопределяет стандартныйtorch.dtypeи загружает модель с другим dtype. - force_download (
bool, необязательный, по умолчаниюFalse) — Следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, игнорируя кэшированные версии, если они существуют. - cache_dir (
str | os.PathLike, необязательный) — Путь к каталогу, в котором кэшируется загруженная конфигурация предобученной модели, если стандартный кэш не используется. - proxies (
dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке, например,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Прокси применяются при каждом запросе. - local_files_only (
bool, необязательный, по умолчаниюFalse) — Определяет, следует ли загружать только локальные веса модели и файлы конфигурации. Если установлено в True, модель не будет скачана с Hub. - token (
strили bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. ЕслиTrue, используется токен, сгенерированный командойdiffusers-cli login(сохранённый в~/.huggingface). - revision (
str, необязательный, по умолчанию"main") — Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git. - low_cpu_mem_usage (
bool, необязательный, по умолчаниюTrue, если версия torch >= 1.9.0 и — is_accelerate_available(), иначеFalse): ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Также это позволяет не использовать более 1x размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента вTrueвызовет ошибку. - disable_mmap (‘bool’, необязательный, по умолчанию ‘False’) — Определяет, следует ли отключать mmap при загрузке модели Safetensors. Этот параметр может обеспечить лучшую производительность, если модель находится на сетевом диске или жёстком диске, которые могут плохо справляться с частыми операциями перемотки, характерными для mmap.
- kwargs (остальные именованные аргументы в виде словаря, необязательно) —
Можно использовать для переопределения переменных загрузки и сохранения (например, компонентов конвейера конкретного класса конвейера). Переопределённые компоненты передаются непосредственно в метод
__init__конвейера. Подробнее см. в примере ниже.
Создайте модель из предобученных весов, сохранённых в исходном формате .ckpt или .safetensors. По умолчанию модель устанавливается в режим оценки (model.eval()).