You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器运行IP-Adapter代码报错:找不到diffusers.models.autoencoder_kl模块

解决diffusers导入AutoencoderKL时的ModuleNotFoundError问题

问题描述

本地完成IP-Adapter图像生成任务开发后,迁移至带GPU的服务器运行,执行以下代码:

import torch
from diffusers import StableDiffusionPipeline, StableDiffusionImg2ImgPipeline, StableDiffusionInpaintPipelineLegacy, DDIMScheduler, AutoencoderKL
from PIL import Image
from ip_adapter import IPAdapter

出现报错:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
File ~/IP-Adapter/imgToimg_venv/lib/python3.8/site-packages/diffusers/utils/import_utils.py:710, in _LazyModule._get_module(self, module_name)
    709 try:
---> 710     return importlib.import_module("." + module_name, self.__name__)
    711 except Exception as e:

File /usr/lib/python3.8/importlib/__init__.py:127, in import_module(name, package)
    126         level += 1
---> 127 return _bootstrap._gcd_import(name[level:], package, level)

File <frozen importlib._bootstrap>:1014, in _gcd_import(name, package, level)

File <frozen importlib._bootstrap>:991, in _find_and_load(name, import_)

File <frozen importlib._bootstrap>:973, in _find_and_load_unlocked(name, import_)

ModuleNotFoundError: No module named 'diffusers.models.autoencoder_kl'

The above exception was the direct cause of the following exception:

RuntimeError                              Traceback (most recent call last)
Cell In[33], line 2
      1 import torch
----> 2 from diffusers import StableDiffusionPipeline, StableDiffusionImg2ImgPipeline, StableDiffusionInpaintPipelineLegacy, DDIMScheduler, AutoencoderKL
      3 from PIL import Image
      5 from ip_adapter import IPAdapter

File <frozen importlib._bootstrap>:1039, in _handle_fromlist(module, fromlist, import_, recursive)

File ~/IP-Adapter/imgToimg_venv/lib/python3.8/site-packages/diffusers/utils/import_utils.py:701, in _LazyModule.__getattr__(self, name)
    699 elif name in self._class_to_module.keys():
    700     module = self._get_module(self._class_to_module[name])
---> 701     value = getattr(module, name)
    702 else:
    703     raise AttributeError(f"module {self.__name__} has no attribute {name}")

File ~/IP-Adapter/imgToimg_venv/lib/python3.8/site-packages/diffusers/utils/import_utils.py:700, in _LazyModule.__getattr__(self, name)
    698     value = self._get_module(name)
    699 elif name in self._class_to_module.keys():
---> 700     module = self._get_module(self._class_to_module[name])
    701     value = getattr(module, name)
    702 else:

File ~/IP-Adapter/imgToimg_venv/lib/python3.8/site-packages/diffusers/utils/import_utils.py:712, in _LazyModule._get_module(self, module_name)
    710     return importlib.import_module("." + module_name, self.__name__)
    711 except Exception as e:
---> 712     raise RuntimeError(
    713         f"Failed to import {self.__name__}.{module_name} because of the following error (look up to see its traceback):\n{e}"
    714     ) from e

RuntimeError: Failed to import diffusers.models.autoencoder_kl because of the following error (look up to see its traceback):
No module named 'diffusers.models.autoencoder_kl'

已尝试升级diffusers库,但问题仍未解决。

解决方法

1. 重新安装指定版本的diffusers

AutoencoderKL的模块路径在diffusers不同版本中存在差异,卸载现有版本后安装稳定兼容版:

pip uninstall -y diffusers
pip install diffusers==0.24.0

2. 确保激活正确的虚拟环境

避免全局环境与项目虚拟环境的包冲突,运行代码前激活服务器上的虚拟环境:

source ~/IP-Adapter/imgToimg_venv/bin/activate

3. 强制重装修复损坏的安装

如果安装不完整导致模块缺失,删除现有diffusers目录后强制重装:

rm -rf ~/IP-Adapter/imgToimg_venv/lib/python3.8/site-packages/diffusers
pip install diffusers==0.24.0 --force-reinstall

4. 临时替换导入路径(兼容旧版本)

若上述方法无效,可尝试修改AutoencoderKL的导入语句,部分旧版本中该类位于vae模块下:

# 替换原导入语句中的AutoencoderKL部分
from diffusers.models.vae import AutoencoderKL

内容的提问来源于stack exchange,提问作者Anupam Gevariya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 13:16:22