Diffusers documentation

AutoPipeline

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

AutoPipeline

AutoPipeline được thiết kế để giúp việc nạp checkpoint cho một tác vụ trở nên dễ dàng mà không cần biết lớp pipeline cụ thể. Dựa trên tác vụ, AutoPipeline sẽ tự động lấy lớp pipeline chính xác từ tệp model_index.json của checkpoint.

Xem hướng dẫn AutoPipeline để tìm hiểu cách sử dụng API này!

AutoPipelineForText2Image

lớp diffusers.AutoPipelineForText2Image

< >

( *args**kwargs )

AutoPipelineForText2Image là một lớp pipeline tổng quát, khởi tạo một lớp pipeline text-to-image. Lớp pipeline cụ thể bên dưới được tự động chọn từ phương thức from_pretrained() hoặc from_pipe().

Lớp này không thể được khởi tạo bằng __init__() (gây ra lỗi).

Thuộc tính lớp:

  • config_name (str) — Tên tệp cấu hình lưu trữ tên lớp và tên module của tất cả các thành phần trong pipeline khuếch tán.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Tham số

  • pretrained_model_or_path (str hoặc os.PathLike, tùy 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 trọng số pipeline được lưu bằng save_pretrained().
  • 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.
  • 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.
  • output_loading_info(bool, optional, 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, 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à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.
  • custom_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ẻ, hoặc id commit tương tự như revision khi tải một pipeline tùy chỉnh từ Hub. Nó có thể là phiên bản 🤗 Diffusers khi tải một pipeline tùy chỉnh từ GitHub, nếu không, mặc định là "main" khi tải từ Hub.
  • mirror (str, optional) — Mirror source to resolve accessibility issues if you’re downloading a model in China. We do not guarantee the timeliness or safety of the source, and you should refer to the mirror site for more information.
  • 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 nhất định đã được đưa vào, mọi submodule của nó sẽ được gửi đến cùng một thiết bị.

    Đặ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.
  • 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.
  • 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.
  • variant (str, tùy chọn) — Tải trọng số từ tên tệp biến thể được chỉ định, chẳng hạn như "fp16" hoặc "ema".

Khởi tạo một pipeline khuếch tán Pytorch từ văn bản sang hình ảnh từ trọng số pipeline được huấn luyện trước.

Phương thức from_pretrained() đảm bảo trả về đúng instance của lớp pipeline bằng cách:

  1. Phát hiện lớp pipeline của pretrained_model_or_path dựa trên thuộc tính _class_name của đối tượng config của nó
  2. Tìm pipeline text-to-image được liên kết với lớp pipeline bằng cách khớp mẫu trên tên lớp pipeline.

Nếu đối số controlnet được truyền vào, một đối tượng StableDiffusionControlNetPipeline sẽ được khởi tạo.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

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.

> Để sử dụng các mô hình riêng tư hoặc được kiểm soát, hãy đăng nhập bằng hf > auth login.

Ví dụ:

>>> from diffusers import AutoPipelineForText2Image

>>> pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt).images[0]

from_pipe

< >

( pipeline**kwargs )

Tham số

  • pipeline (DiffusionPipeline) — một đối tượng DiffusionPipeline đã được khởi tạo

Khởi tạo một pipeline khuếch tán Pytorch từ văn bản sang hình ảnh từ một lớp pipeline khuếch tán đã được khởi tạo khác.

Phương thức from_pipe() đảm bảo trả về một instance của lớp pipeline chính xác bằng cách tìm pipeline text-to-image được liên kết với lớp pipeline thông qua việc khớp mẫu trên tên lớp pipeline.

Tất cả các module mà pipeline chứa sẽ được sử dụng để khởi tạo pipeline mới mà không cần phân bổ thêm bộ nhớ.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]

AutoPipelineForImage2Image

lớp diffusers.AutoPipelineForImage2Image

< >

( *args**kwargs )

AutoPipelineForImage2Image là một lớp pipeline tổng quát, khởi tạo một lớp pipeline từ ảnh sang ảnh. Lớp pipeline cụ thể bên dưới được tự động chọn từ phương thức from_pretrained() hoặc from_pipe().

Lớp này không thể được khởi tạo bằng __init__() (gây ra lỗi).

Thuộc tính lớp:

  • config_name (str) — Tên tệp cấu hình lưu trữ tên lớp và tên module của tất cả các thành phần trong pipeline khuếch tán.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Tham số

  • pretrained_model_or_path (str hoặc os.PathLike, tùy 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 trọng số pipeline được lưu bằng save_pretrained().
  • dtype (str hoặc 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.
  • 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.
  • output_loading_info(bool, optional, 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, 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à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.
  • custom_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ẻ, hoặc id commit tương tự như revision khi tải một pipeline tùy chỉnh từ Hub. Nó có thể là phiên bản 🤗 Diffusers khi tải một pipeline tùy chỉnh từ GitHub, nếu không, mặc định là "main" khi tải từ Hub.
  • mirror (str, optional) — Mirror source to resolve accessibility issues if you’re downloading a model in China. We do not guarantee the timeliness or safety of the source, and you should refer to the mirror site for more information.
  • 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 nhất định đã được đưa vào, mọi submodule của nó sẽ được gửi đến cùng một thiết bị.

    Đặ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.
  • 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.
  • 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.
  • variant (str, tùy chọn) — Tải trọng số từ tên tệp biến thể được chỉ định, chẳng hạn như "fp16" hoặc "ema".

Khởi tạo một pipeline khuếch tán Pytorch từ ảnh sang ảnh từ trọng số pipeline được huấn luyện trước.

Phương thức from_pretrained() đảm bảo trả về đúng instance của lớp pipeline bằng cách:

  1. Phát hiện lớp pipeline của pretrained_model_or_path dựa trên thuộc tính _class_name của đối tượng config của nó
  2. Tìm pipeline image-to-image được liên kết với lớp pipeline bằng cách khớp mẫu trên tên lớp pipeline.

Nếu một đối số controlnet được truyền vào, một đối tượng StableDiffusionControlNetImg2ImgPipeline sẽ được khởi tạo.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

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.

> Để sử dụng các mô hình riêng tư hoặc được kiểm soát, hãy đăng nhập bằng hf > auth login.

Ví dụ:

>>> from diffusers import AutoPipelineForImage2Image

>>> pipeline = AutoPipelineForImage2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image).images[0]

from_pipe

< >

( pipeline**kwargs )

Tham số

  • pipeline (DiffusionPipeline) — một đối tượng DiffusionPipeline đã được khởi tạo

Khởi tạo một pipeline khuếch tán Pytorch từ ảnh sang ảnh từ một lớp pipeline khuếch tán đã được khởi tạo khác.

Phương thức from_pipe() đảm bảo trả về một instance của lớp pipeline chính xác bằng cách tìm pipeline image-to-image được liên kết với lớp pipeline thông qua việc khớp mẫu trên tên lớp pipeline.

Tất cả các module mà pipeline chứa sẽ được sử dụng để khởi tạo pipeline mới mà không cần phân bổ thêm bộ nhớ.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

Ví dụ:

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]

AutoPipelineForInpainting

lớp diffusers.AutoPipelineForInpainting

< >

( *args**kwargs )

AutoPipelineForInpainting là một lớp pipeline chung, dùng để khởi tạo một lớp pipeline inpainting. Lớp pipeline cụ thể bên dưới sẽ được tự động chọn từ phương thức from_pretrained() hoặc from_pipe().

Lớp này không thể được khởi tạo bằng __init__() (gây ra lỗi).

Thuộc tính lớp:

  • config_name (str) — Tên tệp cấu hình lưu trữ tên lớp và tên module của tất cả các thành phần trong pipeline khuếch tán.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Tham số

  • pretrained_model_or_path (str hoặc os.PathLike, tùy 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 trọng số pipeline được lưu bằng save_pretrained().
  • dtype (str hoặc 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.
  • 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.
  • output_loading_info(bool, optional, 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, 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à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.
  • custom_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ẻ, hoặc id commit tương tự như revision khi tải một pipeline tùy chỉnh từ Hub. Nó có thể là phiên bản 🤗 Diffusers khi tải một pipeline tùy chỉnh từ GitHub, nếu không, mặc định là "main" khi tải từ Hub.
  • mirror (str, optional) — Mirror source to resolve accessibility issues if you’re downloading a model in China. We do not guarantee the timeliness or safety of the source, and you should refer to the mirror site for more information.
  • 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 nhất định đã được đưa vào, mọi submodule của nó sẽ được gửi đến cùng một thiết bị.

    Đặ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.
  • 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.
  • 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.
  • variant (str, tùy chọn) — Tải trọng số từ tên tệp biến thể được chỉ định, chẳng hạn như "fp16" hoặc "ema".

Khởi tạo một pipeline khuếch tán Pytorch inpainting từ trọng số pipeline được huấn luyện trước.

Phương thức from_pretrained() đảm bảo trả về đúng instance của lớp pipeline bằng cách:

  1. Phát hiện lớp pipeline của pretrained_model_or_path dựa trên thuộc tính _class_name của đối tượng config của nó
  2. Tìm pipeline inpainting liên kết với lớp pipeline bằng cách khớp mẫu trên tên lớp pipeline.

Nếu một đối số controlnet được truyền vào, một đối tượng StableDiffusionControlNetInpaintPipeline sẽ được khởi tạo.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

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.

> Để sử dụng các mô hình riêng tư hoặc được kiểm soát, hãy đăng nhập bằng hf > auth login.

Ví dụ:

>>> from diffusers import AutoPipelineForInpainting

>>> pipeline = AutoPipelineForInpainting.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image=init_image, mask_image=mask_image).images[0]

from_pipe

< >

( pipeline**kwargs )

Tham số

  • pipeline (DiffusionPipeline) — một đối tượng DiffusionPipeline đã được khởi tạo

Khởi tạo một pipeline khuếch tán Pytorch inpainting từ một lớp pipeline khuếch tán đã được khởi tạo khác.

Phương thức from_pipe() đảm bảo trả về một instance của lớp pipeline chính xác bằng cách tìm pipeline inpainting được liên kết với lớp pipeline thông qua việc khớp mẫu trên tên lớp pipeline.

Tất cả các module mà lớp pipeline chứa sẽ được sử dụng để khởi tạo pipeline mới mà không cần phân bổ thêm bộ nhớ.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

Ví dụ:

>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )

>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]

AutoPipelineForText2Audio

lớp diffusers.AutoPipelineForText2Audio

< >

( *args**kwargs )

AutoPipelineForText2Audio là một lớp pipeline tổng quát, khởi tạo một lớp pipeline text-to-audio. Lớp pipeline cụ thể bên dưới được tự động chọn từ phương thức from_pretrained() hoặc from_pipe().

Lớp này không thể được khởi tạo bằng __init__() (gây ra lỗi).

Thuộc tính lớp:

  • config_name (str) — Tên tệp cấu hình lưu trữ tên lớp và tên module của tất cả các thành phần trong pipeline khuếch tán.

from_pretrained

< >

( pretrained_model_or_path**kwargs )

Tham số

  • pretrained_model_or_path (str hoặc os.PathLike, tùy chọn) — Có thể là:
    • Một chuỗi, repo id (ví dụ stabilityai/stable-audio-open-1.0) 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 trọng số pipeline được lưu bằng save_pretrained().
  • 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.
  • 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.
  • output_loading_info(bool, optional, 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, 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à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.
  • custom_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ẻ, hoặc id commit tương tự như revision khi tải một pipeline tùy chỉnh từ Hub. Nó có thể là phiên bản 🤗 Diffusers khi tải một pipeline tùy chỉnh từ GitHub, nếu không, mặc định là "main" khi tải từ Hub.
  • mirror (str, optional) — Mirror source to resolve accessibility issues if you’re downloading a model in China. We do not guarantee the timeliness or safety of the source, and you should refer to the mirror site for more information.
  • 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 nhất định đã được đưa vào, mọi submodule của nó sẽ được gửi đến cùng một thiết bị.

    Đặ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.
  • 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.
  • 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.
  • variant (str, tùy chọn) — Tải trọng số từ tên tệp biến thể được chỉ định, chẳng hạn như "fp16" hoặc "ema".

Khởi tạo một pipeline khuếch tán Pytorch từ văn bản sang âm thanh từ trọng số pipeline được huấn luyện trước.

Phương thức from_pretrained() đảm bảo trả về đúng instance của lớp pipeline bằng cách:

  1. Phát hiện lớp pipeline của pretrained_model_or_path dựa trên thuộc tính _class_name của đối tượng config của nó
  2. Tìm pipeline text-to-audio được liên kết với lớp pipeline bằng cách khớp mẫu trên tên lớp pipeline.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

> Để sử dụng các mô hình riêng tư hoặc được kiểm soát, hãy đăng nhập bằng hf > auth login.

Ví dụ:

>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio

>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
...     "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")

>>> output = pipeline(
...     "Generate a male voice reading a paragraph",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)

from_pipe

< >

( pipeline**kwargs )

Tham số

  • pipeline (DiffusionPipeline) — một đối tượng DiffusionPipeline đã được khởi tạo

Khởi tạo một pipeline khuếch tán Pytorch từ văn bản sang âm thanh từ một lớp pipeline khuếch tán đã được khởi tạo khác.

Phương thức from_pipe() đảm bảo trả về một instance của lớp pipeline chính xác bằng cách tìm pipeline text-to-audio được liên kết với lớp pipeline thông qua việc khớp mẫu trên tên lớp pipeline.

Tất cả các module mà pipeline chứa sẽ được sử dụng để khởi tạo pipeline mới mà không cần phân bổ thêm bộ nhớ.

Pipeline được đặt ở chế độ đánh giá (model.eval()) theo mặc định.

>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline

>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)

>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
...     "Generate a sound",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)
Update on GitHub