Diffusers documentation
AutoModel
AutoModel
AutoModel автоматически определяет правильный класс модели из файла config.json в контрольной точке.
AutoModel
from_pretrained
< source >( 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
< source >( 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 или локально.
Создайте модель из словаря конфигурации или файла конфигурации предобученной модели со случайными весами (предобученные веса не загружаются).