|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from diffusers.utils import logging |
|
|
from diffusers.modular_pipelines import SequentialPipelineBlocks |
|
|
from diffusers.modular_pipelines.modular_pipeline_utils import InsertableDict |
|
|
|
|
|
from .before_denoise import ( |
|
|
MatrixGameWanActionInputStep, |
|
|
MatrixGameWanPrepareImageMaskLatentsStep, |
|
|
MatrixGameWanPrepareLatentsStep, |
|
|
MatrixGameWanSetTimestepsStep, |
|
|
) |
|
|
from .decoders import MatrixGameWanDecodeStep |
|
|
from .encoders import MatrixGameWanImageEncoderStep |
|
|
from .denoise import MatrixGameWanDenoiseStep |
|
|
|
|
|
|
|
|
logger = logging.get_logger(__name__) |
|
|
|
|
|
|
|
|
class MatrixGameWanBeforeDenoiseStep(SequentialPipelineBlocks): |
|
|
block_classes = [ |
|
|
MatrixGameWanActionInputStep, |
|
|
MatrixGameWanSetTimestepsStep, |
|
|
MatrixGameWanPrepareLatentsStep, |
|
|
MatrixGameWanPrepareImageMaskLatentsStep, |
|
|
] |
|
|
block_names = ["action_input", "set_timesteps", "prepare_latents", "prepare_mask_latents"] |
|
|
|
|
|
@property |
|
|
def description(self): |
|
|
return ( |
|
|
"Before denoise step that prepare the inputs for the denoise step.\n" |
|
|
+ "This is a sequential pipeline blocks:\n" |
|
|
+ " - `MatrixGameWanInputStep` is used to adjust the batch size of the model inputs\n" |
|
|
+ " - `MatrixGameWanSetTimestepsStep` is used to set the timesteps\n" |
|
|
+ " - `MatrixGameWanPrepareLatentsStep` is used to prepare the latents\n" |
|
|
) |
|
|
|
|
|
ACTION2VIDEO_BLOCKS = InsertableDict( |
|
|
[ |
|
|
("action_input", MatrixGameWanActionInputStep), |
|
|
("image_encoder", MatrixGameWanImageEncoderStep), |
|
|
("set_timesteps", MatrixGameWanSetTimestepsStep), |
|
|
("prepare_latents", MatrixGameWanPrepareLatentsStep), |
|
|
("prepare_masked_latents", MatrixGameWanPrepareImageMaskLatentsStep), |
|
|
("denoise", MatrixGameWanDenoiseStep), |
|
|
("decode", MatrixGameWanDecodeStep), |
|
|
] |
|
|
) |
|
|
|
|
|
ALL_BLOCKS = { |
|
|
"action2video": ACTION2VIDEO_BLOCKS, |
|
|
} |
|
|
|