Mac搭建本地Stable-Diffusion

一、终端操作技巧

1. 电脑开启代理的情况下,终端默认不走代理

解决办法
临时开启终端代理,设置之后对当前标签页有效,一旦关闭这个终端窗口或重新开一个新终端,临时变量不再存在。

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
#设置完成后 验证
curl https://www.google.com

`
如果你只希望让git走代理,可以修改git全局代理

git config --global http.proxy "http://127.0.0.1:7890" 
git config --global https.proxy "https://127.0.0.1:7890"

2. 电脑安装多个版本的python,导致冲突

解决办法
临时指定python版本,关掉终端窗口,path会恢复。不影响系统python

#查看python@3.10的路径
brew install python@3.10
#在输出中查找路径

#设置临时path
export PATH="/usr/local/Cellar/python@3.10/3.10.4/libexec/bin:$PATH"
#设置完成,验证
python —verison

二、安装步骤

1. 安装Homebrew

官方下载

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

国内下载链接

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2. 安装Python3.10

brew install cmake protobuf rust python@3.10 git wget

3. 下载stable-diffusion-webui

使用git clone将项目拉取到本地
先cd到指定目录

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

4. 创建虚拟环境

# 进入项目目录
cd ~/stable-diffusion

# 创建 Python 虚拟环境(venv),如果出现python冲突按照文章开头的方法解决
python -m venv venv

# 激活环境
source venv/bin/activate

# 升级 pip
pip install --upgrade pip

5. 安装 PyTorch

根据你的 Mac 支持 CPU 或 GPU(M1/M2 需要特别版本)安装:

# M1/M2 芯片 GPU(Metal)版本
pip install torch torchvision torchaudio --pre --extra-index-url https://download.pytorch.org/whl/nightly/cpu
  • 安装完成后测试:
python -c "import torch; print(torch.__version__, torch.backends.mps.is_available())"
  • 如果是 Intel CPU,MPS 不可用,CPU 会默认使用。
# 在stable-diffusion执行
./webui.sh

执行完成会自动打开webui网页。默认会下载v1.5版本的模型

三、外部挂载模型

模型文件一般都比较大, 对应存储空间比较小的电脑可以通过NSF挂载NAS上存储的模型,使用smb挂载也可以,但是NSF比smb速度更快

首先请确定 NAS 已开启 NFS 服务

# 在 iMac 上创建挂载目录
mkdir -p ~/NAS_Models

# 挂载 NFS 共享,IP为NAS的局域网地址
sudo mount -t nfs -o resvport 192.168.0.100:/volume1/homes/User/SD_Models ~/SD_Models

mount | grep SD_Models

这样,模型就会出现在 ~/NAS_Models

使用 mount 命令

mount | grep nfs
  • 会列出所有已挂载的 NFS 文件系统,例如:

使用 df 命令

df -h | grep SD_Models
  • 会显示挂载点的磁盘使用情况,如果能看到容量信息,说明挂载成功。

直接访问挂载目录

ls /Users/iMac/SD_Models
  • 如果能列出 NAS 上的文件,说明挂载成功且可读。
  • 如果报错 Permission denied 或空目录,加su
  • 如果双击没有权限打开,NFS 修改Squash为Map all users to admin

stable-diffusion外接模型

#删除原来的文件夹 stable-diffusion-webui/models/Stable-diffusion/
#创建软链接 ln -s <源路径> <目标路径>
ln -s /Users/iMac/SD_Models /Users/iMac/stable-diffusion-webui/models/Stable-diffusion

卸载 NFS

如果想卸载:

sudo umount /Users/iMac/SD_Models

测试记录

Flux1.0模型

  1. 目前stable-diffusion-webui不支持Flux1.0。推荐使用ComfyUI
    • ComfyUI有两种安装方式
      • ComfyUI Desktop: 直接下载App,一键完成,操作简单
      • ComfyUI CLI: 通过命令行手动安装。后期操作更灵活,比如是否启用CPU模式,修改模型路径等
    • Flux1.0版本,目前主要有三个版本,其他基本都是衍生版
      • flux1-dev-fp8.safetensors (17.2G)降低精度的版本,单一模型即可运行。Mac M1电脑暂时不支持MPS模式运行。CPU模式运行结果:出一张256*256的图片耗时30分钟左右,CPU消耗基本保持在10GB左右,约等于无法使用
      • flux1-schnell-fp8.safetensors (17.2G)需要同时下载CLIP和VAE才能运行.执行效率和flux1-dev-fp8.safetensors差别不大
      • flux1-dev.safetensors (23.8G)全精度版本。支持Mac的MPS模式,但是运行起来GPU直接达到32GB左右,程序卡死。建议VRAM高于32GB的电脑使用
    • 关于CPU模式和MPS模式
      • Metal Performance Shaders (MPS) 是苹果的优化框架,使用 GPU 提升模型训练和推理效率。安装时建议选择这个模式
      • CPU模式,速度极慢,约等于无法使用
    • ComfyUI Desktop修改模型目录,与webui共用模型
      • ~/Library/Application Support/ComfyUI中有extra_models_config.yaml,通过修改路径位置实现共用

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注