Error running process: D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py Traceback (most recent call last): File "D:\SD\SD.4.8\modules\scripts.py", line 825, in process script.process(p, *script_args) File "D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py", line 1228, in process self.controlnet_hack(p) File "D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py", line 1213, in controlnet_hack self.controlnet_main_entry(p) File "D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py", line 919, in controlnet_main_entry model_net, control_model_type = Script.load_control_model(p, unet, unit.model) File "D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py", line 436, in load_control_model control_model = Script.build_control_model(p, unet, model) File "D:\SD\SD.4.8\extensions\sd-webui-controlnet\scripts\controlnet.py", line 446, in build_control_model raise RuntimeError("You have not selected any ControlNet Model.") RuntimeError: You have not selected any ControlNet Model.
时间: 2025-07-10 15:42:21 浏览: 4
<think>好的,我现在需要解决用户提出的关于ControlNet模型未选择导致的运行错误,具体错误是RuntimeError: You have not selected any ControlNet Model。首先,我得理解这个错误的原因。用户在使用Stable Diffusion WebUI的ControlNet扩展时,可能在操作过程中没有正确选择所需的ControlNet模型,导致程序抛出这个错误。接下来,我需要思考可能导致这个问题的几个方面,并给出对应的解决方案。
首先,检查ControlNet模型是否已经正确安装和加载。用户可能没有下载所需的ControlNet模型文件,或者模型文件存放的路径不正确。通常,ControlNet模型需要放置在特定的目录下,比如`stable-diffusion-webui/extensions/sd-webui-controlnet/models`。如果模型文件缺失或路径错误,扩展就无法找到模型,从而导致错误。因此,第一步应该是确认模型文件的存在和路径是否正确。
其次,用户可能在WebUI界面中没有正确启用ControlNet选项。即使模型已经安装,如果在生成图像时没有在ControlNet标签页中勾选“启用”选项,或者没有选择具体的预处理器和模型,系统也会报错。需要指导用户如何一步步在界面中启用并配置ControlNet参数。
另外,版本兼容性问题也可能导致错误。用户可能使用的ControlNet扩展版本与Stable Diffusion WebUI的主程序版本不兼容,或者模型文件与扩展版本不匹配。这时需要建议用户更新ControlNet扩展和相关依赖到最新版本,或者回退到稳定版本以确保兼容性。
此外,用户可能在启动WebUI时没有正确加载ControlNet扩展。检查启动参数或配置文件,确保扩展没有被意外禁用。如果用户在启动时使用了某些参数跳过了扩展加载,或者配置文件中存在错误,也可能导致ControlNet未被正确加载。
最后,如果以上步骤都确认无误,但问题仍然存在,可能需要查看日志文件以获取更详细的错误信息。日志通常位于WebUI的安装目录下,通过分析日志可以进一步定位问题,例如权限问题、文件损坏或其他运行时错误。
总结下来,解决步骤应该是:
1. 确认模型文件是否正确安装。
2. 检查WebUI界面中的ControlNet配置是否启用并选择了模型。
3. 更新或重新安装ControlNet扩展。
4. 检查启动参数和配置文件。
5. 查看日志文件进行进一步诊断。
需要将这些步骤用清晰的中文解释,结构分明,便于用户逐步操作。同时,在回答中引用相关的参考资料,比如安装路径和启动参数相关的信息,可以引用之前提供的引用内容,比如引用[1]中提到的关于GPU检查的部分,虽然不直接相关,但可以类比说明检查配置的重要性。
最后,生成相关问题,帮助用户进一步了解可能遇到的类似问题,比如如何安装ControlNet模型,或处理其他扩展的兼容性问题等。</think>### 解决RuntimeError: You have not selected any ControlNet Model的方法
该错误发生在使用Stable Diffusion WebUI的ControlNet扩展时未正确选择模型。以下是分步解决方案:
---
#### **1. 确认ControlNet模型文件已正确安装**
- 模型文件应放置在以下路径:
`stable-diffusion-webui/extensions/sd-webui-controlnet/models`
- 支持的模型类型包括`.pt`、`.pth`、`.safetensors`等。
**操作步骤**:
- 从官方渠道下载ControlNet模型(如`control_v11p_sd15_canny.pth`)[^1]
- 将模型文件复制到上述目录中
- 重启WebUI
---
#### **2. 在WebUI界面中启用ControlNet**
即使模型已安装,仍需在界面中手动启用:
1. 打开Stable Diffusion WebUI的`文生图`或`图生图`标签页
2. 展开底部`ControlNet`折叠面板
3. 勾选**启用**复选框
4. 在`模型`下拉菜单中选择已安装的ControlNet模型(如`control_sd15_canny`)
5. 根据需求选择预处理器(如`canny`)
---
#### **3. 更新ControlNet扩展**
版本不兼容可能导致模型加载失败:
```bash
# 进入WebUI扩展目录
cd stable-diffusion-webui/extensions/sd-webui-controlnet
# 拉取最新代码
git pull
# 重启WebUI
```
若更新后出现问题,可通过`git checkout <commit_id>`回退到稳定版本[^1]。
---
#### **4. 检查WebUI启动参数**
确保启动时未禁用ControlNet扩展:
- 检查`webui-user.bat`(Windows)或命令行参数,**不要包含**`--disable-extensions`
- 确认`config.json`中ControlNet未被设为`"disabled": true`
---
#### **5. 查看日志定位具体问题**
日志文件路径:`stable-diffusion-webui/log/ui.log`
搜索关键字`ControlNet`,检查是否有以下错误:
- `Model file not found` → 模型路径错误
- `Failed to load model` → 文件损坏或不兼容
---
###
阅读全文
相关推荐















