升級 MacOS 14 Sonoma 後 StableDiffusion 不能運作

在我貪新鮮升級最新的 MacOS 14 Sonoma 後,發現 Automatic1111's StableDiffusionWebUI 不能順利生成圖片,情況跟這個 github issus 差不多。

就是可以順利打開 WebUI ,但是在生成圖片會有大量 Error message。

Python[13813:192227] ANE Evaluation Error = Error Domain=com.apple.appleneuralengine Code=8 "processRequest:model:qos:qIndex:modelStringID:options:error:: ANEProgramProcessRequestDirect() Failed with status=0x16 : statusType=0x9: Program Inference error" UserInfo={NSLocalizedDescription=processRequest:model:qos:qIndex:modelStringID:options:error:: ANEProgramProcessRequestDirect() Failed with status=0x16 : statusType=0x9: Program Inference error}

這情況下什麼生圖的動作也不能進行!


解決方法

  1. 首先安裝最新版的 torch
    pip3 install --upgrade --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu
  2. 修改 webui-user.sh 如下
#!/bin/bash
#########################################################
# Uncomment and change the variables below to your need:#
#########################################################

# Install directory without trailing slash
#install_dir="/home/$(whoami)"

# Name of the subdirectory
#clone_dir="stable-diffusion-webui"

# Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate"

# python3 executable
#python_cmd="python3"

# git executable
#export GIT="git"

# python3 venv without trailing slash (defaults to ${install_dir}/${clone_dir}/venv)
#venv_dir="venv"

# script to launch to start the app
#export LAUNCH_SCRIPT="launch.py"

# install command for torch
export TORCH_COMMAND="pip install --pre torch==2.2.0.dev20231012 torchvision==0.17.0.dev20231012 --index-url https://download.pytorch.org/whl/nightly/cpu"

# Requirements file to use for stable-diffusion-webui
#export REQS_FILE="requirements_versions.txt"

# Fixed git repos
#export K_DIFFUSION_PACKAGE=""
#export GFPGAN_PACKAGE=""

# Fixed git commits
#export STABLE_DIFFUSION_COMMIT_HASH=""
#export CODEFORMER_COMMIT_HASH=""
#export BLIP_COMMIT_HASH=""

# Uncomment to enable accelerated launch
#export ACCELERATE="True"

# Uncomment to disable TCMalloc
#export NO_TCMALLOC="True"

###########################################

3. 做用以下指令重新啟動一次以更新 torch 版本 ./webui.sh --reinstall-torch

4. 然後系統會自動安裝並更新 torch 版本到 torch: 2.2.0.dev20231012 ,又可以順利重新出圖了。


若以上修改因為各種不因不行,還有一個簡單版的應急方法:

就是在啟動指令改為 ./webui.sh --half ,這樣你還是可以打開 UI 生成圖片,但是有時速度會比以前慢一點,所以還是建議用更新 torch 版本的方法。