controlnet源码一点小迷思

迷之思考1 control相加位置
在论文以及webui实现中,controlnet的输出都是相加在upblock和midblock的输入位置,然而在diffusers的实现中,在运算完downblock后,将down_block_additional_residuals加在了downblock的输出位置,虽然作用一致,但给我带了理解上的迷惑。
以下是https://github.com/huggingface/diffusers/blob/v0.27.2/src/diffusers/pipelines/controlnet/pipeline_controlnet.py#L1252
1 | down_block_res_samples, mid_block_res_sample = self.controlnet( |
1 | # downblock |