Diffusers documentation

AutoModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoModel

AutoModel tự động lấy đúng lớp mô hình từ tệp config.json của checkpoint.

AutoModel

lớp diffusers.AutoModel

< >

( *args**kwargs )

from_pretrained

< >

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

Tham số

  • pretrained_model_name_or_path (str hoặc os.PathLike, tùy chọn) — Có thể là:
    • Một chuỗi, model id (ví dụ google/ddpm-celebahq-256) của một mô hình được huấn luyện trước có sẵn trên Hub.
    • Đường dẫn đến một thư mục (ví dụ ./my_model_directory) chứa các trọng số mô hình đã được lưu bằng save_pretrained().
  • cache_dir (str | os.PathLike, tùy chọn) — Đường dẫn đến thư mục nơi cấu hình mô hình được huấn luyện trước đã tải xuống được lưu đệm nếu không sử dụng bộ lưu đệm tiêu chuẩn.
  • dtype (torch.dtype, tùy chọn) — Ghi đè torch.dtype mặc định và tải mô hình với một dtype khác.
  • force_download (bool, tùy chọn, mặc định là False) — Có nên buộc tải lại (re-download) trọng số mô hình và các tệp cấu hình, ghi đè lên các phiên bản đã được lưu trong bộ nhớ đệm nếu chúng tồn tại hay không.
  • proxies (dict[str, str], tuỳ chọn) — Một từ điển các máy chủ proxy để sử dụng theo giao thức hoặc điểm cuối, ví dụ, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Các proxy này được sử dụng cho mỗi yêu cầu.
  • output_loading_info (bool, tùy chọn, mặc định là False) — Có nên trả về một từ điển chứa các khóa bị thiếu, các khóa không mong đợi và thông báo lỗi hay không.
  • local_files_only(bool, tuỳ chọn, mặc định là False) — Có chỉ tải trọng số và tệp cấu hình mô hình cục bộ hay không. Nếu đặt thành True, mô hình sẽ không được tải xuống từ Hub.
  • token (str hoặc bool, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. Nếu True, token được tạo từ diffusers-cli login (được lưu trong ~/.huggingface) sẽ được sử dụng.
  • revision (str, tùy chọn, mặc định là "main") — Phiên bản mô hình cụ thể cần sử dụng. Nó có thể là tên nhánh, tên thẻ, id commit, hoặc bất kỳ định danh nào được Git cho phép.
  • subfolder (str, tùy chọn, mặc định là "") — Vị trí thư mục con của tệp mô hình bên trong một kho lưu trữ mô hình lớn hơn trên Hub hoặc cục bộ.
  • mirror (str, optional) — Nguồn mirror để giải quyết các vấn đề về khả năng truy cập nếu bạn đang tải xuống một model tại Trung Quốc. Chúng tôi không đảm bảo tính kịp thời hay an toàn của nguồn, và bạn nên tham khảo trang web mirror để biết thêm thông tin.
  • device_map (str hoặc dict[str, int | str | torch.device], tùy chọn) — Một bản đồ chỉ định vị trí của từng submodule. Không cần định nghĩa cho từng tên parameter/buffer; một khi tên module nào đó đã được đưa vào, mọi submodule của nó sẽ được gửi đến cùng một thiết bị. Mặc định là None, nghĩa là mô hình sẽ được tải lên CPU.

    Đặt device_map="auto" để 🤗 Accelerate tự động tính toán device_map tối ưu nhất. Để biết thêm thông tin về từng tùy chọn, xem thiết kế bản đồ thiết bị.

  • max_memory (Dict, tùy chọn) — Một từ điển định danh thiết bị cho bộ nhớ tối đa. Nếu không được đặt, giá trị mặc định sẽ là bộ nhớ tối đa khả dụng cho mỗi GPU và RAM CPU khả dụng.
  • offload_folder (str hoặc os.PathLike, tùy chọn) — Đường dẫn để offload trọng số nếu device_map chứa giá trị "disk".
  • offload_state_dict (bool, tùy chọn) — Nếu True, sẽ tạm thời offload state dict trên CPU xuống ổ cứng để tránh hết RAM CPU nếu trọng số của state dict trên CPU + shard lớn nhất của checkpoint không vừa. Mặc định là True khi có offload xuống đĩa.
  • low_cpu_mem_usage (bool, tùy chọn, mặc định là True nếu phiên bản torch >= 1.9.0, ngược lại là False) — Tăng tốc quá trình tải mô hình bằng cách chỉ tải trọng số được huấn luyện trước mà không khởi tạo trọng số. Điều này cũng cố gắng không sử dụng nhiều hơn 1 lần kích thước mô hình trong bộ nhớ CPU (bao gồm bộ nhớ đỉnh) trong khi tải mô hình. Chỉ hỗ trợ cho PyTorch >= 1.9.0. Nếu bạn đang sử dụng phiên bản PyTorch cũ hơn, việc đặt tham số này thành True sẽ gây ra lỗi.
  • variant (str, tùy chọn) — Tải trọng số từ tên tệp variant được chỉ định, chẳng hạn như "fp16" hoặc "ema".
  • use_safetensors (bool, tùy chọn, mặc định là None) — Nếu được đặt thành None, các trọng số safetensors sẽ được tải xuống nếu chúng có sẵn và nếu thư viện safetensors đã được cài đặt. Nếu được đặt thành True, mô hình sẽ được tải bắt buộc từ các trọng số safetensors. Nếu được đặt thành False, các trọng số safetensors sẽ không được tải.
  • disable_mmap (‘bool’, tùy chọn, mặc định là ‘False’) — Có vô hiệu hóa mmap khi tải mô hình Safetensors hay không. Tùy chọn này có thể cho hiệu suất tốt hơn khi mô hình nằm trên ổ đĩa mạng hoặc ổ cứng, những nơi có thể không xử lý tốt tính chất truy cập ngẫu nhiên (seeky) của mmap.
  • trust_remote_cocde (bool, tùy chọn, mặc định là False) — Có tin tưởng mã từ xa hay không

Tạo một mô hình PyTorch được huấn luyện trước từ cấu hình của một mô hình được huấn luyện trước.

Mô hình được đặt ở chế độ đánh giá - model.eval() - theo mặc định, và các module dropout bị vô hiệu hóa. Để huấn luyện mô hình, hãy đặt lại nó ở chế độ huấn luyện bằng model.train().

> Để sử dụng các mô hình riêng tư hoặc có kiểm soát truy cập, hãy đăng nhập bằng hf > auth login. Bạn cũng có thể kích hoạt chế độ đặc biệt > “offline-mode” để sử dụng phương pháp này trong môi trường có tường lửa.

Ví dụ:

from diffusers import AutoModel

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

Nếu bạn nhận được thông báo lỗi bên dưới, bạn cần tinh chỉnh trọng số cho tác vụ hạ nguồn của mình:

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 )

Tham số

  • pretrained_model_name_or_path_or_dict (str, os.PathLike, hoặc dict) — Có thể là:
    • Một chuỗi, model id (ví dụ google/ddpm-celebahq-256) của một cấu hình model được huấn luyện trước lưu trữ trên Hub.
    • Đường dẫn đến một thư mục (ví dụ ./my_model_directory) chứa tệp cấu hình mô hình.
    • Một từ điển cấu hình.
  • cache_dir (Union[str, os.PathLike], tùy chọn) — Đường dẫn đến thư mục nơi cấu hình mô hình được huấn luyện trước đã tải xuống được lưu đệm nếu không sử dụng bộ lưu đệm tiêu chuẩn.
  • force_download (bool, tùy chọn, mặc định là False) — Có nên buộc tải lại cấu hình mô hình, ghi đè lên phiên bản đã được lưu trong bộ nhớ đệm nếu có, hay không.
  • proxies (Dict[str, str], tùy chọn) — Một từ điển các máy chủ proxy để sử dụng theo giao thức hoặc điểm cuối.
  • local_files_only(bool, tuỳ chọn, mặc định là False) — Có chỉ tải các tệp cấu hình mô hình cục bộ hay không.
  • token (str hoặc bool, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa.
  • revision (str, tùy chọn, mặc định là "main") — Phiên bản mô hình cụ thể cần sử dụng.
  • trust_remote_code (bool, tùy chọn, mặc định là False) — Có nên tin tưởng mã từ xa hay không.
  • subfolder (str, tùy chọn, mặc định là "") — Vị trí thư mục con của tệp mô hình bên trong một kho lưu trữ mô hình lớn hơn trên Hub hoặc cục bộ.

Tạo một mô hình từ một từ điển cấu hình hoặc một tệp cấu hình mô hình được huấn luyện trước với các trọng số ngẫu nhiên (không nạp các trọng số được huấn luyện trước).

Ví dụ:

from diffusers import AutoModel

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