Diffusers documentation

AutoModel

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

and get access to the augmented documentation experience

to get started

AutoModel

AutoModel автоматически определяет правильный класс модели из файла config.json в контрольной точке.

AutoModel

класс diffusers.AutoModel

< >

( *args**kwargs )

from_pretrained

< >

( pretrained_model_or_path: str | os.PathLike | None = None**kwargs )

Параметры

  • pretrained_model_name_or_path (str или os.PathLike, необязательный) — Может быть:
    • Строка, идентификатор модели (например, google/ddpm-celebahq-256) предобученной модели, размещенной на Hub.
    • Путь к каталогу (например, ./my_model_directory), содержащему веса модели, сохранённые с помощью save_pretrained().
  • cache_dir (str | os.PathLike, необязательный) — Путь к каталогу, в котором кэшируется загруженная конфигурация предобученной модели, если стандартный кэш не используется.
  • dtype (torch.dtype, необязательный) — Переопределяет стандартный torch.dtype и загружает модель с другим dtype.
  • force_download (bool, необязательный, по умолчанию False) — Следует ли принудительно (пере)скачивать веса модели и файлы конфигурации, игнорируя кэшированные версии, если они существуют.
  • proxies (dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке, например, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Прокси применяются при каждом запросе.
  • output_loading_info (bool, необязательный, по умолчанию False) — Возвращать ли также словарь, содержащий отсутствующие ключи, неожиданные ключи и сообщения об ошибках.
  • local_files_only(bool, необязательный, по умолчанию False) — Определяет, следует ли загружать только локальные веса модели и файлы конфигурации. Если установлено значение True, модель не будет скачана с Hub.
  • token (str или bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов. Если True, используется токен, сгенерированный командой diffusers-cli login (сохранённый в ~/.huggingface).
  • revision (str, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать. Может быть именем ветки, именем тега, идентификатором коммита или любым другим идентификатором, поддерживаемым Git.
  • subfolder (str, необязательный, по умолчанию "") — Расположение подпапки файла модели внутри более крупного репозитория моделей на Hub или локально.
  • mirror (str, optional) — Источник зеркала для решения проблем с доступностью при загрузке модели в Китае. Мы не гарантируем актуальность или безопасность источника, поэтому за дополнительной информацией обращайтесь на сайт зеркала.
  • device_map (str или dict[str, int | str | torch.device], необязательный) — Справочник, определяющий, на какое устройство следует поместить каждый подмодуль. Не обязательно указывать его для каждого имени параметра/буфера: как только имя модуля указано, все его подмодули будут отправлены на то же устройство. По умолчанию None, что означает, что модель будет загружена на CPU.

    Установите device_map="auto", чтобы 🤗 Accelerate автоматически вычислила наиболее оптимизированную device_map. Подробнее о каждом варианте см. проектирование device map.

  • max_memory (Dict, необязательный) — Словарь с идентификаторами устройств и максимальным объемом памяти. Если не задан, по умолчанию используется максимальная доступная память для каждого GPU и доступная оперативная память CPU.
  • offload_folder (str или os.PathLike, необязательный) — Путь для выгрузки весов, если device_map содержит значение "disk".
  • offload_state_dict (bool, необязательный) — Если True, временно выгружает CPU state dict на диск, чтобы избежать нехватки оперативной памяти CPU, если вес CPU state dict + самый большой фрагмент контрольной точки не помещается. По умолчанию True, если используется выгрузка на диск.
  • low_cpu_mem_usage (bool, необязательный, по умолчанию True, если версия torch >= 1.9.0, иначе False) — Ускоряет загрузку модели, загружая только предобученные веса и не инициализируя их. Это также позволяет не использовать более 1x размера модели в оперативной памяти CPU (включая пиковое потребление) при загрузке модели. Поддерживается только для PyTorch >= 1.9.0. Если вы используете более старую версию PyTorch, установка этого аргумента в True вызовет ошибку.
  • variant (str, необязательный) — Загружает веса из файла с указанным variant, например "fp16" или "ema".
  • use_safetensors (bool, необязательный, по умолчанию None) — Если установлено значение None, веса safetensors загружаются, если они доступны и если библиотека safetensors установлена. Если установлено значение True, модель принудительно загружается из весов safetensors. Если установлено значение False, веса safetensors не загружаются.
  • disable_mmap (‘bool’, необязательный, по умолчанию ‘False’) — Определяет, следует ли отключать mmap при загрузке модели Safetensors. Этот параметр может обеспечить лучшую производительность, если модель находится на сетевом диске или жёстком диске, которые могут плохо справляться с частыми операциями перемотки, характерными для mmap.
  • trust_remote_cocde (bool, необязательный, по умолчанию False) — Следует ли доверять удалённому коду

Создайте предобученную модель PyTorch на основе конфигурации предобученной модели.

Модель по умолчанию находится в режиме оценки - model.eval() - и модули dropout отключены. Для обучения модели верните её в режим обучения с помощью model.train().

> Для использования частных или модели с ограниченным доступом выполните вход с помощью hf > auth login. Также можно активировать специальный режим > «офлайн», чтобы использовать этот метод в > среде с файрволом.

Пример:

from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

Если вы получаете сообщение об ошибке, приведённое ниже, вам необходимо дообучить веса для вашей целевой задачи:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

from_config

< >

( pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None**kwargs )

Параметры

  • pretrained_model_name_or_path_or_dict (str, os.PathLike, или dict) — Может быть одним из следующих:
    • Строка, идентификатор модели (например, google/ddpm-celebahq-256) конфигурации предобученной модели, размещённой на Hub.
    • Путь к каталогу (например, ./my_model_directory), содержащему файл конфигурации модели.
    • Словарь конфигурации.
  • cache_dir (Union[str, os.PathLike], необязательный) — Путь к каталогу, в котором кэшируется загруженная конфигурация предобученной модели, если стандартный кэш не используется.
  • force_download (bool, необязательный, по умолчанию False) — Следует ли принудительно (пере)скачивать конфигурацию модели, заменяя кэшированную версию, если она существует.
  • proxies (Dict[str, str], необязательный) — Словарь прокси-серверов, используемых по протоколу или конечной точке.
  • local_files_only(bool, optional, по умолчанию False) — Загружать только локальные файлы конфигурации модели или нет.
  • token (str или bool, необязательный) — Токен, используемый в качестве HTTP bearer-авторизации для удалённых файлов.
  • revision (str, необязательный, по умолчанию "main") — Конкретная версия модели, которую следует использовать.
  • trust_remote_code (bool, необязательный, по умолчанию False) — Следует ли доверять удалённому коду.
  • subfolder (str, необязательный, по умолчанию "") — Расположение подпапки файла модели внутри более крупного репозитория моделей на Hub или локально.

Создайте модель из словаря конфигурации или файла конфигурации предобученной модели со случайными весами (предобученные веса не загружаются).

Пример:

from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
Update on GitHub