OpenVINO开发小组
直播中

梁宏满

8年用户 1057经验值
私信 关注
[问答]

请问如何通过OpenVINO™加速启用稳定的扩散 Web UI?


  • 无法运行具有OpenVINO™加速的稳定扩散 Web UI。

回帖(2)

杜永强

2025-6-24 15:41:14
举报

陈艳

2025-6-26 17:50:24

要成功通过OpenVINO™加速Stable Diffusion Web UI,需解决环境配置、依赖冲突和转换流程问题。以下是完整解决方案:




一、确认核心前提




  1. 硬件要求



    • Intel CPU(建议第6代以上)或Intel GPU(Arc系列)

    • 必须支持AVX2指令集(可通过lscpu | grep avx2或CPU-Z工具验证)




  2. 系统环境



    • Python 3.10(禁止使用Python 3.11+,兼容性问题严重)

    • 安装依赖:pip install openvino-dev[onnx]






二、正确安装OpenVINO扩展




  1. 安装OpenVINO插件


    cd stable-diffusion-webui/extensions
    git clone https://github.com/OpenVINO/stable-diffusion-webui.git openvino



  2. 激活OpenVINO模式
    在Web UI启动命令中追加参数:


    python launch.py --precision full --no-half --opt-split-attention-v1 --openvino


    • --precision full --no-half:强制使用FP32精度(避免OpenVINO半精度错误)

    • --openvino:启用OpenVINO推理后端






三、解决模型转换问题(关键步骤)




  1. 转换模型为OpenVINO格式


    from openvino.tools import mo
    from transformers import StableDiffusionPipeline

    # 下载原始PyTorch模型
    model = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")

    # 导出到ONNX(必须步骤)
    model.save_pretrained("./sd_model", save_format="onnx")

    # 转换为OpenVINO IR格式
    mo.convert_model(
       input_model="./sd_model/model.onnx",
       output_dir="./ov_model",
       compress_to_fp16=False  # 禁用FP16,避免兼容性问题
    )



  2. 修改Web UI配置
    stable-diffusion-webui/config.json中添加路径:


    {
    "openvino": {
       "model_path": "./ov_model/model.xml"
    }
    }





四、依赖冲突解决方案




  1. 降级关键库版本


    pip uninstall torch torchvision torchaudio  # 移除现有版本
    pip install torch==1.13.1 torchvision==0.14.1 --extra-index-url https://download.pytorch.org/whl/cpu
    pip install openvino==2023.0.0  # 指定兼容版本



  2. 清理环境冲突


    pip install --force-reinstall numpy==1.23.5  # 防止numpy版本冲突





五、调试错误日志


遇到崩溃时检查日志:


tail -n 100 stable-diffusion-webui/log.txt

常见错误处理:



  • Unsupported precision FP16 → 添加--no-half参数

  • RuntimeError: Could not detect any supported OpenCL devices → 安装Intel计算运行时:
    sudo apt install intel-opencl-icd  # Linux

  • ONNX Export Failed → 手动导出ONNX模型(见第三步)




六、替代方案(官方推荐)


如果Web UI插件仍失败,直接使用OpenVINO优化版SD:


from optimum.intel import OVStableDiffusionPipeline

model = OVStableDiffusionPipeline.from_pretrained("openvino/stable-diffusion-1-5")
image = model("a cat wearing sunglasses").images[0]
image.save("result.png")



最终验证步骤



  1. 启动命令:
    python launch.py --skip-torch-cuda-test --openvino --no-half

  2. 在Web UI界面底部选择OpenVINO作为推理后端

  3. 生成测试图像,确认日志中出现Inference completed with OpenVINO backend



⚠️ 注意:OpenVINO在首次运行时会缓存编译内核(耗时5-10分钟),后续生成速度显著提升(CPU推理可达2-4 it/s)。



通过以上步骤应能解决大多数OpenVINO集成问题。如需深入调试,可查看OpenVINO插件源码:stable-diffusion-webui/extensions/openvino/ov_pipeline.py

举报

更多回帖

发帖
×
20
完善资料,
赚取积分