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, 선택 사항) — 다음 중 하나일 수 있습니다:
    • Hub에 호스팅된 사전 학습 모델의 model id 문자열(예: google/ddpm-celebahq-256).
    • A path to a directory (for example ./my_model_directory) containing the model weights saved with 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에서 허용하는 브랜치 이름, 태그 이름, 커밋 ID 또는 기타 식별자일 수 있습니다.
  • subfolder (str, 선택 사항, 기본값 "") — Hub 또는 로컬의 더 큰 모델 저장소 내에서 모델 파일의 서브폴더 위치입니다.
  • mirror (str, 선택 사항) — 중국에서 모델을 다운로드할 때 접근성 문제를 해결하기 위한 미러 소스입니다. 소스의 적시성이나 안전성을 보장하지 않으며, 자세한 정보는 해당 미러 사이트를 참고하세요.
  • device_map (str 또는 dict[str, int | str | torch.device], 선택 사항) — 각 서브모듈이 어디에 배치되어야 하는지 지정하는 맵입니다. 각 파라미터/버퍼 이름별로 정의할 필요는 없으며, 특정 모듈 이름이 포함되면 해당 모듈의 모든 서브모듈이 동일한 장치로 전송됩니다. 기본값은 None, 이며, 이는 모델이 CPU에 로드됨을 의미합니다.

    device_map="auto"를 설정하면 🤗 Accelerate가 가장 최적화된 device_map을 자동으로 계산합니다. 각 옵션에 대한 자세한 내용은 device map 설계를 참고하세요.

  • max_memory (Dict, 선택 사항) — 최대 메모리에 대한 디바이스 식별자를 나타내는 사전입니다. 설정되지 않으면 각 GPU의 사용 가능한 최대 메모리와 사용 가능한 CPU RAM이 기본값으로 사용됩니다.
  • offload_folder (str 또는 os.PathLike, 선택 사항) — device_map에 "disk" 값이 포함된 경우 가중치를 오프로드할 경로입니다.
  • offload_state_dict (bool, 선택 사항) — True인 경우, CPU state dict의 가중치와 체크포인트의 가장 큰 샤드가 함께 CPU RAM에 맞지 않을 때 RAM 부족을 방지하기 위해 CPU state dict를 임시로 하드 드라이브로 오프로드합니다. 디스크 오프로드가 있는 경우 기본값은 True입니다.
  • low_cpu_mem_usage (bool, 선택 사항, torch 버전이 1.9.0 이상이면 기본값은 True, 그 외에는 False) — 가중치를 초기화하지 않고 사전 학습된 가중치만 로드하여 모델 로딩 속도를 높입니다. 또한 모델 로딩 중 CPU 메모리(피크 메모리 포함)를 모델 크기의 1배를 초과하지 않도록 시도합니다. PyTorch 1.9.0 이상에서만 지원됩니다. PyTorch의 이전 버전을 사용하는 경우 이 인수를 True로 설정하면 오류가 발생합니다.
  • variant (str, 선택 사항) — "fp16" 또는 "ema"와 같은 지정된 variant 파일 이름에서 가중치를 로드합니다.
  • use_safetensors (bool, 선택 사항, 기본값 None) — None으로 설정하면 safetensors 가중치가 사용 가능한 경우 그리고 safetensors 라이브러리가 설치된 경우 해당 가중치가 다운로드됩니다. True로 설정하면 모델이 safetensors 가중치에서 강제로 로드됩니다. False로 설정하면 safetensors 가중치가 로드되지 않습니다.
  • disable_mmap (‘bool’, 선택 사항, 기본값 ‘False’) — Safetensors 모델을 로드할 때 mmap을 비활성화할지 여부입니다. 네트워크 마운트나 하드 드라이브에 모델이 있는 경우 mmap의 seek 동작을 잘 처리하지 못할 수 있으므로, 이 옵션을 사용하면 성능이 더 좋아질 수 있습니다.
  • trust_remote_cocde (bool, 선택 사항, 기본값 False) — 원격 코드를 신뢰할지 여부

pretrained model configuration에서 사전 학습된 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) — 다음 중 하나일 수 있습니다:
    • Hub에 호스팅된 사전 학습된 모델 구성의 model id(예: google/ddpm-celebahq-256) 문자열
    • 모델 구성 파일이 포함된 디렉터리의 경로(예: ./my_model_directory)
    • 설정 사전.
  • cache_dir (Union[str, os.PathLike], 선택) — 표준 캐시를 사용하지 않을 경우, 다운로드된 사전 학습 모델 구성이 캐시되는 디렉터리의 경로입니다.
  • force_download (bool, 선택 사항, 기본값 False) — 캐시된 버전이 존재하더라도 이를 무시하고 모델 구성을 (재)다운로드하도록 강제할지 여부.
  • proxies (Dict[str, str], 선택) — 프로토콜 또는 엔드포인트별로 사용할 프록시 서버의 사전입니다.
  • local_files_only(bool, 선택 사항, 기본값 False) — 로컬 모델 구성 파일만 로드할지 여부를 지정합니다.
  • token (str 또는 bool, 선택 사항) — 원격 파일에 대한 HTTP bearer 인증으로 사용할 토큰입니다.
  • revision (str, 선택 사항, 기본값 "main") — 사용할 특정 모델 버전입니다.
  • trust_remote_code (bool, 선택 사항, 기본값 False) — 원격 코드를 신뢰할지 여부.
  • subfolder (str, 선택 사항, 기본값 "") — Hub 또는 로컬의 더 큰 모델 저장소 내에서 모델 파일의 서브폴더 위치입니다.

config 사전 또는 사전 학습된 모델 구성 파일에서 무작위 가중치로 모델을 초기화합니다(사전 학습된 가중치는 로드되지 않음).

예:

from diffusers import AutoModel

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