Diffusers documentation

Одиночные файлы

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Одиночные файлы

Метод from_single_file() позволяет загрузить:

  • модель, хранящаяся в одном файле, что удобно при работе с моделями из экосистемы диффузии, например, с Automatic1111, где для хранения и обмена моделями обычно используется структура с одним файлом
  • модель, сохраненная в исходном формате распределения, что полезно, если вы работаете с моделями, дообученными с помощью других сервисов, и хотите загрузить ее напрямую в объекты моделей и конвейеры Diffusers

Ознакомьтесь с руководством Файлы и структура моделей, чтобы узнать больше о структуре Diffusers-multifolder по сравнению с однофайловой структурой, а также о том, как загружать модели, хранящиеся в этих разных структурах.

Поддерживаемые конвейеры

Поддерживаемые модели

FromSingleFileMixin

класс diffusers.loaders.FromSingleFileMixin

< >

( )

Загрузите веса модели, сохранённые в формате .ckpt, в DiffusionPipeline.

from_single_file

< >

( 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.
  • 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

класс diffusers.loaders.FromOriginalModelMixin

< >

( )

Загрузите предобученные веса, сохранённые в формате .ckpt или .safetensors, в модель.

from_single_file

< >

( 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.
  • 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()).

>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)
Update on GitHub