-
Notifications
You must be signed in to change notification settings - Fork 42
Description
In the paper, the author showed that the X-Adapter can be used to directly applied on SDXL checkpoint to denoise a pure latent noise and apply the plugable control condition (ControlNet, LoRA, etc).

However, according to my testing, this is not true. If I remove the sd15 pass, the SDXL model with SD15 ControlNet applied via adapter cannot produce img follow the control constraint.
Steps to reproduce
- Install comfyui node: https://github.com/kijai/ComfyUI-Diffusers-X-Adapter
- Find
pipeline/pipeline_sd_xl_adapter_controlnet.py - Comment out following code: https://github.com/kijai/ComfyUI-Diffusers-X-Adapter/blob/81b77e441c2dd5566acf5025fa9cadfb8a574490/pipeline/pipeline_sd_xl_adapter_controlnet.py#L993-L1078
- Run the node
- Observe result not following canny edge control
Is the adapter really making a difference?
I am suspecting if the xadapter is really doing its job on transfering the control of sd15 controlnet model to sdxl. If we are starting at T0 with the sd15 controlnet already applied with some steps, as long as the SDXL model not doing too much extra modification, the result should not deviate a lot from the T0 result.
Here I compare the result between 2 scenarios:
No Adapter
Add up_block_additional_residual = None after https://github.com/kijai/ComfyUI-Diffusers-X-Adapter/blob/81b77e441c2dd5566acf5025fa9cadfb8a574490/pipeline/pipeline_sd_xl_adapter_controlnet.py#L1166
Essentially this is doing generation with ControlNet using SD15 model, and then refine with SDXL model.


With Adapter
I do not observe clear improvement on the X-Adapter.


