Comfyui-MusePose节点导入失败,提示 No module named ‘diffusers.models.unets.dual_transformer_2d’的解决办法
在更新完diffusers版本后,之前安装的comfyui插件Comfyui-MusePose导入失败,日志提示dual_transformer_2d模块缺失:
from diffusers.models.unets.dual_transformer_2d import DualTransformer2DModel
ModuleNotFoundError: No module named ‘diffusers.models.unets.dual_transformer_2d’Cannot import G:\AIGC\ComfyUI-aki-v1.3\custom_nodes\Comfyui-MusePose module for custom nodes: No module named ‘diffusers.models.unets.dual_transformer_2d’

大致的意思就是该节点试图从diffusers.models.unets.dual_transformer_2d
导入DualTransformer2DModel
,但当前环境中没有这个模块。
导致这个问题产生的原因就是因为新版本的diffusers中的dual_transformer_2d模块位置发生了变化,现在的位置位于diffusers\models\transformers目录下,因此调用该模块的方法也应该进行相应的更改。具体修改方法如下:
找到插件目录文件custom_nodes\Comfyui-MusePose\musepose\models\unet_2d_blocks.py
修改unet_2d_blocks.py中文件代码,将下面的代码
from diffusers.models.dual_transformer_2d import DualTransformer2DModel
修改为
from diffusers.models.transformers.dual_transformer_2d import DualTransformer2DModel
然后保存,重启comfyui,问题即可解决,正常导入插件Comfyui-MusePose!