ComfyUI-IDM-VTON节点导入失败,提示ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d’的解决办法
ComfyUI-IDM-VTON插件安装后,提示导入失败,日志显示dual_transformer_2d模块缺失:
from diffusers.models.dual_transformer_2d import DualTransformer2DModel
ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d’from diffusers.models.transformer_2d import Transformer2DModel
ModuleNotFoundError: No module named ‘diffusers.models.transformer_2d’

同样,该节点试图导入diffusers.models.dual_transformer_2d
中的DualTransformer2DModel
模块,但未找到。
导致这个问题也是由于新版本的diffusers中的dual_transformer_2d模块位置发生了变化,现在的位置位于diffusers\models\transformers目录下,因此调用该模块的方法也应该进行相应的更改。具体修改方法如下:
找到ComfyUI-IDM-VTON插件目录文件custom_nodes\ComfyUI-IDM-VTON\src\idm_vton\unet_block_hacked_garmnet.py和custom_nodes\ComfyUI-IDM-VTON\src\idm_vton\unet_block_hacked_tryon.py
修改unet_block_hacked_garmnet.py和unet_block_hacked_tryon.py中文件代码,分别搜索下面的代码
from diffusers.models.dual_transformer_2d import DualTransformer2DModel
from diffusers.models.transformer_2d import Transformer2DModel
将其修改为
from diffusers.models.transformers.dual_transformer_2d import DualTransformer2DModel
from diffusers.models.transformers.transformer_2d import Transformer2DModel
保存后重启,即可正常导入插件ComfyUI-IDM-VTON!