Buckets:
Các khối Pipeline
ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]
diffusers.ModularPipelineBlocks()
Lớp cơ sở cho tất cả các Khối Pipeline: ConditionalPipelineBlocks, AutoPipelineBlocks, SequentialPipelineBlocks, LoopSequentialPipelineBlocks
ModularPipelineBlocks cung cấp phương thức để tải và lưu trữ định nghĩa của các khối pipeline.
get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]
get_block_state(state: PipelineState)
Lấy tất cả các đầu vào và các giá trị trung gian trong một từ điển
get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Tham số:
- **kwargs : Tên và giá trị của các đầu vào. Chỉ các đầu vào kích hoạt mới ảnh hưởng đến việc chọn khối.
Lấy khối (hoặc các khối) sẽ được thực thi dựa trên các đầu vào. Phải được triển khai bởi các lớp con hỗ trợ chọn khối có điều kiện.
get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]
get_workflow(workflow_name: str)
Tham số:
workflow_name : Tên của workflow cần truy xuất.
Lấy các khối thực thi cho một workflow cụ thể. Phải được triển khai bởi các lớp con định nghĩa _workflow_map.
init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]
init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)
tạo một ModularPipeline, tùy chọn chấp nhận pretrained_model_name_or_path để tải từ hub.
SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]
diffusers.SequentialPipelineBlocks()
Tham số:
block_classes : danh sách các lớp khối sẽ được sử dụng
block_names : danh sách các tiền tố cho mỗi khối
Một Pipeline Blocks kết hợp nhiều lớp pipeline block thành một. Khi được gọi, nó sẽ gọi từng block theo thứ tự.
Lớp này kế thừa từ ModularPipelineBlocks. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các khối pipeline (chẳng hạn như tải hoặc lưu, v.v.)
from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)
Tham số:
blocks_dict : Từ điển ánh xạ tên khối đến các lớp hoặc instance của khối
Trả về:
Một instance mới của SequentialPipelineBlocks
Tạo một instance của SequentialPipelineBlocks từ một từ điển các khối.
get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Tham số:
- **kwargs : Tên và giá trị của các đầu vào. Chỉ các đầu vào kích hoạt mới ảnh hưởng đến việc chọn khối.
Trả về:
SequentialPipelineBlocks chỉ chứa các khối sẽ được thực thi
Lấy các khối sẽ được thực thi dựa trên các đầu vào được chỉ định.
Khi quá trình duyệt đi qua các khối tuần tự, các đầu ra trung gian từ các khối đã được giải quyết sẽ được thêm vào các đầu vào đang hoạt động. Điều này có nghĩa là các khối điều kiện phụ thuộc vào các giá trị trung gian (ví dụ: "chạy img2img nếu image_latents có mặt") sẽ được giải quyết chính xác, miễn là điều kiện dựa trên sự hiện diện hay vắng mặt (None hoặc không phải None), chứ không phải dựa trên giá trị thực tế.
LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]
diffusers.LoopSequentialPipelineBlocks()
Tham số:
block_classes : danh sách các lớp khối sẽ được sử dụng
block_names : danh sách các tiền tố cho mỗi khối
Pipeline blocks là các khối kết hợp nhiều lớp khối pipeline khác nhau vào một vòng lặp For. Khi được gọi, nó sẽ gọi từng khối theo thứ tự.
Lớp này kế thừa từ ModularPipelineBlocks. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các khối pipeline (chẳng hạn như tải hoặc lưu, v.v.)
from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]
from_blocks_dict(blocks_dict: dict[str, typing.Any])
Tham số:
blocks_dict : Từ điển ánh xạ tên khối đến các instance của khối
Trả về:
Một instance mới của LoopSequentialPipelineBlocks
Tạo một instance của LoopSequentialPipelineBlocks từ một từ điển các blocks.
AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]
diffusers.AutoPipelineBlocks()
Tham số:
block_classes : Danh sách các lớp khối sẽ được sử dụng. Phải có cùng độ dài với block_names và block_trigger_inputs.
block_names : Danh sách tên cho mỗi khối. Phải có cùng độ dài với block_classes và block_trigger_inputs.
block_trigger_inputs : Danh sách tên đầu vào, trong đó mỗi phần tử chỉ định đầu vào kích hoạt cho khối tương ứng. Sử dụng None để đánh dấu khối mặc định.
Một Pipeline Blocks tự động chọn khối để chạy dựa trên sự hiện diện của các đầu vào kích hoạt.
Đây là một phiên bản chuyên dụng của ConditionalPipelineBlocks trong đó:
- Mỗi khối có một đầu vào kích hoạt tương ứng (lớp ánh xạ 1:1)
- Việc chọn khối là tự động: khối đầu tiên có đầu vào kích hoạt sẽ được chọn
block_trigger_inputsphải có cùng độ dài vớiblock_namesvàblock_classes- Sử dụng
Nonetrongblock_trigger_inputsđể chỉ định khối mặc định, tức là khối sẽ được thực thi nếu không có đầu vào kích hoạt nào
Ví dụ:
class MyAutoBlock(AutoPipelineBlocks):
block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
block_names = ["inpaint", "img2img", "text2img"]
block_trigger_inputs = ["mask_image", "image", None] # text2img is the default
Với định nghĩa này:
- Miễn là
mask_imageđược cung cấp, khối "inpaint" sẽ được thực thi (bất kểimagecó được cung cấp hay không) - Nếu
mask_imagekhông được cung cấp nhưngimageđược cung cấp, khối "img2img" sẽ chạy - Ngược lại, khối "text2img" sẽ được thực thi (mặc định, kích hoạt là
None)
select_block[[diffusers.AutoPipelineBlocks.select_block]]
select_block(**kwargs)
Chọn khối dựa trên đầu vào kích hoạt nào có mặt (không phải None).
ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]
diffusers.ConditionalPipelineBlocks()
Tham số:
block_classes : Danh sách các lớp khối sẽ được sử dụng. Phải có cùng độ dài với block_names.
block_names : Danh sách tên cho mỗi khối. Phải có cùng độ dài với block_classes.
block_trigger_inputs : Danh sách tên đầu vào mà select_block() sử dụng để xác định khối nào cần chạy. Đối với ConditionalPipelineBlocks, danh sách này không cần tương ứng với block_names và block_classes. Đối với AutoPipelineBlocks, danh sách này phải có cùng độ dài với block_names và block_classes, trong đó mỗi phần tử chỉ định đầu vào kích hoạt cho khối tương ứng.
default_block_name : Tên của khối mặc định để chạy khi không có đầu vào kích hoạt nào khớp. Nếu là None, khối này có thể bị bỏ qua hoàn toàn khi không có đầu vào kích hoạt nào được cung cấp.
Một Pipeline Blocks chọn có điều kiện một block để chạy dựa trên các đầu vào. Các lớp con phải triển khai phương thức select_block để định nghĩa logic chọn block. Hiện tại, chúng tôi chỉ hỗ trợ logic chọn dựa trên sự hiện diện hoặc vắng mặt của các đầu vào (tức là chúng có phải là None hay không)
Lớp này kế thừa từ ModularPipelineBlocks. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các khối pipeline (chẳng hạn như tải hoặc lưu, v.v.)
get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]
get_execution_blocks(**kwargs)
Tham số:
- **kwargs : Tên và giá trị của các đầu vào. Chỉ các đầu vào kích hoạt mới ảnh hưởng đến việc chọn khối.
Trả về: - ModularPipelineBlocks
Một khối lá hoặc SequentialPipelineBlocks đã được giải quyết
None: Nếu khối này bị bỏ qua (không có bộ kích hoạt nào khớp và không có giá trị mặc định)
Lấy khối (các khối) sẽ được thực thi dựa trên các đầu vào.
Giải quyết đệ quy các ConditionalPipelineBlocks lồng nhau cho đến khi đạt được một trong các điều kiện sau:
- Một khối lá (không có sub_blocks hay LoopSequentialPipelineBlocks) → trả về một
ModularPipelineBlocksđơn - Một
SequentialPipelineBlocks→ chuyển tiếp đếnget_execution_blocks()của nó, hàm này trả về mộtSequentialPipelineBlockschứa các khối thực thi đã được phân giải
select_block[[diffusers.ConditionalPipelineBlocks.select_block]]
select_block(**kwargs)
Tham số:
- **kwargs : Tên và giá trị của các đầu vào kích hoạt từ trạng thái.
Trả về: str | None
Tên của khối cần chạy, hoặc None để sử dụng mặc định/bỏ qua.
Chọn khối để chạy dựa trên các đầu vào kích hoạt. Các lớp con phải triển khai phương thức này để định nghĩa logic cho việc chọn khối.
Lưu ý: Khi các đầu vào kích hoạt bao gồm các đầu ra trung gian từ các khối trước đó, logic chọn lọc chỉ nên phụ thuộc vào sự hiện diện hay vắng mặt của đầu vào (tức là có phải là None hay không), chứ không phải giá trị thực tế của nó. Điều này là do get_execution_blocks() giải quyết các điều kiện một cách tĩnh bằng cách lan truyền tên của các đầu ra trung gian mà không kèm theo giá trị thời gian chạy của chúng.
Xet Storage Details
- Size:
- 13.8 kB
- Xet hash:
- 9efa69007e2920b6b8a023b1852678c0f94b981e8a1eb084ff4d34b6a7a267c3
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.