From 8dae8d7bc82864ae1580b52a5dd2f7f99e9c6a92 Mon Sep 17 00:00:00 2001 From: mi804 <1576993271@qq.com> Date: Fri, 22 Aug 2025 11:28:57 +0800 Subject: [PATCH] fix blockwise controlnet training by avoid inplace --- diffsynth/pipelines/qwen_image.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/diffsynth/pipelines/qwen_image.py b/diffsynth/pipelines/qwen_image.py index a17defe..f0a7496 100644 --- a/diffsynth/pipelines/qwen_image.py +++ b/diffsynth/pipelines/qwen_image.py @@ -761,11 +761,13 @@ def model_fn_qwen_image( enable_fp8_attention=enable_fp8_attention, ) if blockwise_controlnet_conditioning is not None: - image[:, :image_seq_len] = image[:, :image_seq_len] + blockwise_controlnet.blockwise_forward( - image=image[:, :image_seq_len], conditionings=blockwise_controlnet_conditioning, + image_slice = image[:, :image_seq_len].clone() + controlnet_output = blockwise_controlnet.blockwise_forward( + image=image_slice, conditionings=blockwise_controlnet_conditioning, controlnet_inputs=blockwise_controlnet_inputs, block_id=block_id, progress_id=progress_id, num_inference_steps=num_inference_steps, ) + image[:, :image_seq_len] = image_slice + controlnet_output image = dit.norm_out(image, conditioning) image = dit.proj_out(image)