MACBOOK PRO M2 MAX 96G内存 安装Stable Diffusion及文生图实例
从前偶尔会使用Midjourney生成一些图片,现在使用的头像就是其时花钱在Midjourney上生成的。前段时间从某鱼上拍了一台性价比还不错的macbook,想着不如本身部署Stable Diffusion(以下简称SD)实验一下。网上有很多教程,但是SD持续在更新,仍旧遇到了很多新的问题,花了大半天才搞定。最后更新时间:2024年3月9日。
1. 设备
型号:macbook pro 14寸
CPU:M2 MAX (12+38)
内存:96G
硬盘:8T
操作系统:maxOS 14.3.1
2. 安装过程
2.1. 参考官方教程
Installation on Apple Silicon · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub
2.2. 安装brew
使用国内的安装源,我使用的是中科大,速度还不错。根据提示一起下去就行。
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
https://img-blog.csdnimg.cn/img_convert/25d1db4d36d7bdd19c65ae6c69f8a0a0.png
配置环境变量
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
2.3. 安装GIT等依赖
比官方教程少了git,由于我的git使用anaconda来安装和隔离。
brew install cmake protobuf rust git wget
2.4. 安装anaconda
由于python版本有多种,一些软件又依赖特定的版本,所以使用anaconda举行隔离。
brew install --cask anaconda
echo 'export PATH="/opt/homebrew/anaconda3/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
conda init zsh
conda create --name sdwebui python=3.10.6
conda activate sdwebui
2.5. 下载stable-diffusion-webui
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
2.6. 下载模型
训练或微调模型对我来说过于复杂,所以我直接下载了几个模型试用。
国外的站点:https://civitai.com/
国内的站点:LiblibAI-哩布哩布AI - 中国领先的AI创作平台
试用的话,两个网站下载都比力快,根据本身的喜好就行。其中liblib当前支持不需要登录就能下载,更方便一些。
下载完成后,放到:“./stable-diffusion-webui/models/Stable-diffusion/”目录下。我下了好几个模型做测试用。
https://img-blog.csdnimg.cn/img_convert/cf1fdb52e877704f6d714af9b94b81b4.png
2.7. 启动及排错
进入目录“./stable-diffusion-webui/”,启动“./webui.sh”。
./webui.sh
2.7.1. 下载报错
启动后,会自行安装很多依赖包,但网络不好时,容易出现下载失败,需要多次重试。
经实践发现,建议早上安装。晚上网络特别差,经常下载到一半就被断掉,实验了十几次都失败。最后在早上只重试了两次,就成功。
https://img-blog.csdnimg.cn/img_convert/55958e6484b3217feeb6eb73044877c3.png
2.7.2. 缺少openai/clip-vit-large-patch14类库
各依赖下载完成后,在启动时报“OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'.”。
https://img-blog.csdnimg.cn/img_convert/1a87e03bcd9b7168ad6cbbf89749edfe.png
解决方案:手动下载https://huggingface.co/openai/clip-vit-large-patch14/tree/main,并放到:“stable-diffusion-webui/openai ”目录下,如果目录不存在就创建。
https://img-blog.csdnimg.cn/img_convert/37f3daf683d1df6a7a2946394b42fa6e.png
https://img-blog.csdnimg.cn/img_convert/793fad3aa0111e288f753a02b2a1c3d9.png
需要先安装git-lft,否则会报:“git-lfs filter-process: git-lfs: command not found”。
https://img-blog.csdnimg.cn/img_convert/4b564b2b6b4860882dca3d9530988f6b.png
安装脚本:
brew install git-lfs
git lfs install
重新下载,报没有权限,需要生成ssh公私钥,再上传到站点。
https://img-blog.csdnimg.cn/img_convert/0342df5a605969223f2b5ea7642a8c90.png
先在当地生成ssh 公私钥,使用命令行窗口实行:
git config --global user.name "yinmo"
git config --global user.email "yinmo_sc@foxmail.com"
ssh-keygen -t rsa -C "yinmo_sc@foxmail.com"
ssh-add ~/.ssh/id_rsa
通过cat ~/.ssh/id_rsa.pub展示公钥内容,复制放到https://huggingface.co中的SSH and GPG Keys中配置。
https://img-blog.csdnimg.cn/img_convert/7ec478553a3d51021a5bb4c7bf5fad2e.png
重新下载成功,并复制到“./stable-diffusion-webui/openai/”目录下。
https://img-blog.csdnimg.cn/img_convert/8d9d145778ec9800766e2094ea62b553.png
重新运行“./webui.sh”,成功的话,会主动打开游览器:http://127.0.0.1:7860/。
https://img-blog.csdnimg.cn/img_convert/3ec9a3dfba0a4ac4918b45fd8b5f2806.png
2.8. 安装中文包
默认是英文界面,网上有些简便的办法安装中文界面,我安装失败,所以手动安装。
https://img-blog.csdnimg.cn/img_convert/7e5099b0706152d7ddcc2e5dc07a9c4f.png
打开“Extensions->Available”,找到:https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json,使用浏览器打开。
https://img-blog.csdnimg.cn/img_convert/4e32438845472fd4787a02f6ae56d2b3.png
搜索“chinese”,找到"https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN",使用游览器打开并下载。
https://img-blog.csdnimg.cn/img_convert/aa58660941b3e0589028c2cdbe28c819.png
https://img-blog.csdnimg.cn/img_convert/06c5f6e2eaa3aa5528d2526b7537191b.png
下载后解压放到目录“./stable-diffusion-webui/extensions-builtin/”下面。
https://img-blog.csdnimg.cn/img_convert/7163a37262e60943683fdc555321c405.png
进入“Setting -> User Interface -> User Interface -> Localization”,选择“zh_CN”,保存配置,重新加载UI。
https://img-blog.csdnimg.cn/img_convert/bf15db6f05f8401b417342d18a474b66.png
出现中文界面。
https://img-blog.csdnimg.cn/img_convert/4bda60d33d7965fbd2c929d74e682dbe.png
3. 使用mps提升性能
在MacBook上,MPS(Metal Performance Shaders)是Apple提供的一个高性能图像处理和计算机视觉库,专为优化和加速在iOS和macOS设备上运行的深度学习和图形渲染使命而设计。MPS使用了Apple的Metal图形和计算框架,后者是一个底层API,用于直接与设备的GPU举行交互,以实现最大的硬件加速服从。
官方版本已经启用了mps,在文件“stable-diffusion-webui/modules/mac_specific.py at master · AUTOMATIC1111/stable-diffusion-webui · GitHub”。如下:
https://img-blog.csdnimg.cn/img_convert/29f582919eefbb823cf3a4c0593fd003.png
在Mac 上的“运动监视器” App 中,选取“窗口”>“GPU 汗青记录”,可以看到在生成图的过程中,GPU算力跑满。中间降落部分为两个使命之间的间隔时段。
https://img-blog.csdnimg.cn/img_convert/3d742a26c19e0d2688afe3a08bfa43ca.png
4. 测试数据
试用模型“epicrealismXL_v4Photoreal”,生成样比方下:
https://img-blog.csdnimg.cn/img_convert/f28c7ebaecf765f0b20ea0293d59f2bf.png
https://img-blog.csdnimg.cn/img_convert/0396c0fd88e08a68db485570a7ef9e73.png
https://img-blog.csdnimg.cn/img_convert/75972e0f0ead54aa5e813c39560ae96f.png
试用了“LEOSAM HelloWorld SDXL真实感大模型_v5.0.safetensors”,生成样比方下:
https://img-blog.csdnimg.cn/img_convert/3561e5008895702bce4f463e0042af08.png
https://img-blog.csdnimg.cn/img_convert/826c5ce4affd8fe7f7499322a0ac7915.png
https://img-blog.csdnimg.cn/img_convert/35ba9bd1964677ba647292d77de06374.png
https://img-blog.csdnimg.cn/img_convert/d744754c895a961dba13b37cfe0c8d93.png
5. 整体感受
如果生成的图片比力小,一次只生成一张图,基本上是秒出,且内存斲丧在20G左右。如果图片比力大,且一次生成多张,就会比力耗时和耗内存。
现在网上已经有很多公开的模型,根据本身的需求接纳差别的模型,好比有真实感的,有二次元的,有建筑的,有影戏风格的等等。
如果想生成精美的图,每每需要多个模型配合,好比上面的熊猫,还需要其它一些模型修饰。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]