Diffusers documentation
Tệp đơn
Tệp đơn
Phương thức from_single_file() cho phép bạn tải:
- một mô hình được lưu trữ trong một tệp duy nhất, hữu ích nếu bạn làm việc với các mô hình từ hệ sinh thái diffusion, chẳng hạn như Automatic1111, và thường dựa vào bố cục tệp đơn để lưu trữ và chia sẻ mô hình
- một mô hình được lưu trữ theo bố cục phân phối ban đầu của nó, hữu ích nếu bạn đang làm việc với các mô hình được tinh chỉnh bằng các dịch vụ khác và muốn tải trực tiếp chúng vào các đối tượng mô hình và pipeline của Diffusers
Đọc hướng dẫn Các tệp và bố cục mô hình để tìm hiểu thêm về bố cục Diffusers-multifolder so với bố cục tệp đơn, cũng như cách tải các mô hình được lưu trữ trong những bố cục khác nhau này.
Các pipeline được hỗ trợ
- StableDiffusionPipeline
- StableDiffusionImg2ImgPipeline
- StableDiffusionInpaintPipeline
- StableDiffusionControlNetPipeline
- StableDiffusionControlNetImg2ImgPipeline
- StableDiffusionControlNetInpaintPipeline
- StableDiffusionUpscalePipeline
- StableDiffusionXLPipeline
- StableDiffusionXLImg2ImgPipeline
- StableDiffusionXLInpaintPipeline
- StableDiffusionXLInstructPix2PixPipeline
- StableDiffusionXLControlNetPipeline
StableDiffusionXLKDiffusionPipeline- StableDiffusion3Pipeline
- LatentConsistencyModelPipeline
- LatentConsistencyModelImg2ImgPipeline
StableDiffusionControlNetXSPipelineStableDiffusionXLControlNetXSPipeline- LEditsPPPipelineStableDiffusion
- LEditsPPPipelineStableDiffusionXL
PIAPipeline
Các mô hình được hỗ trợ
- UNet2DConditionModel
StableCascadeUNet- AutoencoderKL
- ControlNetModel
- SD3Transformer2DModel
- FluxTransformer2DModel
FromSingleFileMixin
Tải trọng số mô hình được lưu ở định dạng .ckpt vào một DiffusionPipeline.
from_single_file
< source >( pretrained_model_link_or_path**kwargs )
Tham số
- pretrained_model_link_or_path (
strhoặcos.PathLike, tùy chọn) — Có thể là:- Một liên kết đến tệp
.ckpt(ví dụ"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") trên Hub. - Đường dẫn đến tệp chứa tất cả trọng số của pipeline.
- Một liên kết đến tệp
- dtype (
strhoặctorch.dtype, tùy chọn) — Ghi đètorch.dtypemặ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. - 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. - 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. - local_files_only (
bool, tùy chọn, mặc định làFalse) — Xác định có chỉ tải trọng số và tệp cấu hình của mô hình từ cục bộ hay không. Nếu đặt thànhTrue, mô hình sẽ không được tải xuống từ Hub. - token (
strhoặc bool, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. NếuTrue, 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. - original_config_file (
str, tùy chọn) — Đường dẫn đến tệp cấu hình gốc được sử dụng để huấn luyện mô hình. Nếu không được cung cấp, tệp cấu hình sẽ được suy ra từ tệp checkpoint. - config (
str, tuỳ chọn) — Có thể là:- Một chuỗi, repo id (ví dụ
CompVis/ldm-text2im-large-256) của một pipeline được huấn luyện trước có trên Hub. - Đường dẫn đến một thư mục (ví dụ
./my_pipeline_directory/) chứa các cấu hình thành phần pipeline ở định dạng Diffusers.
- Một chuỗi, repo id (ví dụ
- 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.
- kwargs (từ điển các tham số từ khóa còn lại, tùy chọn) —
Có thể được dùng để ghi đè lên các biến load và saveable (các thành phần pipeline của lớp pipeline cụ thể). Các thành phần bị ghi đè sẽ được truyền trực tiếp vào phương thức
__init__của pipeline. Xem ví dụ bên dưới để biết thêm thông tin.
Tạo một DiffusionPipeline từ trọng số pipeline được huấn luyện trước, lưu ở định dạng .ckpt hoặc .safetensors. Pipeline mặc định được đặt ở chế độ đánh giá (model.eval()).
Ví dụ:
>>> 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
Tải trọng số được huấn luyện trước đã lưu ở định dạng .ckpt hoặc .safetensors vào một mô hình.
from_single_file
< source >( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )
Tham số
- pretrained_model_link_or_path_or_dict (
str, tuỳ chọn) — Có thể là:- Một liên kết đến tệp
.safetensorshoặc.ckpt(ví dụ"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") trên Hub. - Đường dẫn đến một tệp cục bộ chứa trọng số của mô hình thành phần.
- Một state dict chứa trọng số của mô hình thành phần.
- Một liên kết đến tệp
- config (
str, tuỳ chọn) —- Một chuỗi, repo id (ví dụ
CompVis/ldm-text2im-large-256) của một pipeline được huấn luyện trước có trên Hub. - Đường dẫn đến một thư mục (ví dụ
./my_pipeline_directory/) chứa các cấu hình thành phần pipeline ở định dạng Diffusers.
- Một chuỗi, repo id (ví dụ
- 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ộ. - original_config (
str, tùy chọn) — Dict hoặc đường dẫn đến tệp yaml chứa cấu hình cho mô hình ở định dạng gốc. Nếu một dict được cung cấp, nó sẽ được sử dụng để khởi tạo cấu hình mô hình. - dtype (
torch.dtype, tùy chọn) — Ghi đètorch.dtypemặ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. - 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. - 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. - local_files_only (
bool, tùy chọn, mặc định làFalse) — Có chỉ tải trọng số và tệp cấu hình của mô hình từ 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 (
strhoặc bool, tùy chọn) — Token được sử dụng làm HTTP bearer authorization cho các tệp từ xa. NếuTrue, 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. - low_cpu_mem_usage (
bool, tùy chọn, mặc định làTruenếu phiên bản torch >= 1.9.0 và — is_accelerate_available() nếu không thìFalse): Tăng tốc độ tải mô hình bằng cách chỉ tải các trọng số được huấn luyện trước và không khởi tạo các 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 (kể cả 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ànhTruesẽ gây ra lỗ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.
- kwargs (từ điển các tham số từ khóa còn lại, tùy chọn) —
Có thể được dùng để ghi đè các biến load và saveable (ví dụ như các thành phần pipeline của lớp pipeline cụ thể). Các thành phần bị ghi đè sẽ được truyền trực tiếp vào phương thức
__init__của pipeline. Xem ví dụ bên dưới để biết thêm thông tin.
Khởi tạo một mô hình từ trọng số được huấn luyện trước đã lưu ở định dạng .ckpt hoặc .safetensors gốc. Mô hình mặc định được đặt ở chế độ đánh giá (model.eval()).