MACBOOK PRO M2 MAX 安装Stable Diffusion及文生图实例

2024-03-10 16:20

本文主要是介绍MACBOOK PRO M2 MAX 安装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)"

配置环境变量

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile 
source ~/.bash_profileecho '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 anacondaecho 'export PATH="/opt/homebrew/anaconda3/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc
conda init zsh
conda create --name sdwebui python=3.10.6conda 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/”目录下。我下了好几个模型做测试用。

2.7. 启动及排错

进入目录“./stable-diffusion-webui/”,启动“./webui.sh”。

./webui.sh

2.7.1. 下载报错

启动后,会自行安装很多依赖包,但网络不好时,容易出现下载失败,需要多次重试。

经实践发现,建议早上安装。晚上网络特别差,经常下载到一半就被断掉,尝试了十几次都失败。最后在早上只重试了两次,就成功。

2.7.2. 缺少openai/clip-vit-large-patch14类库

各依赖下载完成后,在启动时报“OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'.”。

解决方案:手动下载https://huggingface.co/openai/clip-vit-large-patch14/tree/main,并放到:“stable-diffusion-webui/openai ”目录下,如果目录不存在就创建。

需要先安装git-lft,否则会报:“git-lfs filter-process: git-lfs: command not found”。

安装脚本:

brew install git-lfs
git lfs install

重新下载,报没有权限,需要生成ssh公私钥,再上传到站点。

先在本地生成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中配置。

重新下载成功,并复制到“./stable-diffusion-webui/openai/”目录下。

重新运行“./webui.sh”,成功的话,会自动打开游览器:http://127.0.0.1:7860/。

2.8. 安装中文包

默认是英文界面,网上有些简洁的办法安装中文界面,我安装失败,所以手动安装。

打开“Extensions->Available”,找到:https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json,使用浏览器打开。

搜索“chinese”,找到"https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN",使用游览器打开并下载。

下载后解压放到目录“./stable-diffusion-webui/extensions-builtin/”下面。

进入“Setting -> User Interface -> User Interface -> Localization”,选择“zh_CN”,保存配置,重新加载UI。

出现中文界面。

3. 使用mps提升性能

在MacBook上,MPS(Metal Performance Shaders)是Apple提供的一个高性能图像处理和计算机视觉库,专为优化和加速在iOS和macOS设备上运行的深度学习和图形渲染任务而设计。MPS利用了Apple的Metal图形和计算框架,后者是一个底层API,用于直接与设备的GPU进行交互,以实现最大的硬件加速效率。

官方版本已经启用了mps,在文件“https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/modules/mac_specific.py”。如下:

在Mac 上的“活动监视器” App 中,选取“窗口”>“GPU 历史记录”,可以看到在生成图的过程中,GPU算力跑满。中间下降部分为两个任务之间的间隔时段。

4. 测试数据

试用模型“epicrealismXL_v4Photoreal”,生成样例如下:

试用了“LEOSAM HelloWorld SDXL真实感大模型_v5.0.safetensors”,生成样例如下:

5. 整体感受

如果生成的图片比较小,一次只生成一张图,基本上是秒出,且内存消耗在20G左右。如果图片比较大,且一次生成多张,就会比较耗时和耗内存。

现在网上已经有很多公开的模型,根据自己的需求采用不同的模型,比如有真实感的,有二次元的,有建筑的,有电影风格的等等。

如果想生成精美的图,往往需要多个模型配合,比如上面的熊猫,还需要其它一些模型修饰。

这篇关于MACBOOK PRO M2 MAX 安装Stable Diffusion及文生图实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794803

相关文章

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

Linux(Centos7)安装Mysql/Redis/MinIO方式

《Linux(Centos7)安装Mysql/Redis/MinIO方式》文章总结:介绍了如何安装MySQL和Redis,以及如何配置它们为开机自启,还详细讲解了如何安装MinIO,包括配置Syste... 目录安装mysql安装Redis安装MinIO总结安装Mysql安装Redis搜索Red

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数