首页
/ Stable Diffusion WebUI DirectML 模型加载失败问题分析与解决

Stable Diffusion WebUI DirectML 模型加载失败问题分析与解决

2025-07-04 13:51:42作者:郜逊炳

问题现象

在使用 Stable Diffusion WebUI DirectML 项目时,部分用户遇到了模型无法加载的问题。主要症状表现为:

  1. 启动 WebUI 后无法显示任何模型
  2. 控制台报错显示 "No checkpoints found"
  3. 设置无法保存,所有设置项显示错误
  4. 刷新模型列表功能失效

错误分析

从错误日志中可以观察到几个关键信息:

  1. 系统在以下路径查找模型文件失败:

    • 项目根目录下的 model.ckpt 文件
    • models/Stable-diffusion 目录
  2. 核心错误信息为:

    FileNotFoundError: No checkpoints found. When searching for checkpoints, looked at:
    - file C:\stabledf\stable-diffusion-webui-directml\model.ckpt
    - directory C:\stabledf\stable-diffusion-webui-directml\models\Stable-diffusion
    
  3. 后续还出现了 AttributeError,表明在模型加载失败后,程序尝试访问不存在的模型属性

问题原因

经过分析,该问题主要由以下几个因素导致:

  1. 模型文件缺失:系统无法在指定路径找到任何 .ckpt 或 .safetensors 格式的模型文件

  2. 路径配置问题:部分情况下,模型搜索路径可能被错误配置

  3. 初始化顺序问题:在最新修复前,程序可能在模型下载完成前就尝试加载模型

解决方案

基本解决方法

  1. 确保模型文件存在

    • 将模型文件(.ckpt 或 .safetensors)放置在正确目录:
      • 项目根目录
      • 或 models/Stable-diffusion 子目录
  2. 使用最新版本

    • 更新到最新版本的 Stable Diffusion WebUI DirectML
    • 最新版本已修复了模型下载和初始化的顺序问题
  3. 重新初始化

    • 删除 venv 文件夹后重新初始化环境
    • 最新版本会在首次运行时自动下载 v1-5-pruned-emaonly.safetensors 模型

高级排查步骤

如果问题仍然存在,可以尝试:

  1. 检查目录权限,确保程序有权限访问模型目录

  2. 验证模型文件完整性,损坏的模型文件可能导致加载失败

  3. 检查环境变量,确保没有冲突的路径设置

技术背景

Stable Diffusion WebUI DirectML 是专为 AMD 显卡优化的 Stable Diffusion 实现版本。它使用 DirectML 作为计算后端,而不是传统的 CUDA。在模型加载机制上:

  1. 程序会按照预设路径搜索模型文件
  2. 如果找不到模型,会尝试从默认源下载
  3. 模型加载失败会导致后续所有依赖模型的功能无法工作

最佳实践建议

  1. 始终使用最新版本的项目代码

  2. 将模型文件统一存放在 models/Stable-diffusion 目录下

  3. 首次运行时耐心等待自动下载完成

  4. 定期清理不再使用的模型以节省空间

总结

模型加载失败问题在最新版本的 Stable Diffusion WebUI DirectML 中已得到修复。用户只需确保使用最新代码,并按照标准方式存放模型文件即可避免此类问题。对于 AMD 显卡用户,DirectML 版本提供了良好的性能支持,是运行 Stable Diffusion 的优秀选择。

登录后查看全文
热门项目推荐
相关项目推荐