Mac M芯片
一、安装步骤
1、安装 Homebrew
cmd+空格,搜索终端,打开终端,把这段代码粘贴到终端回⻋。
- /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
复制代码 ⼀路有1选1,有Y选Y,须要输⼊开机暗码,不会显⽰暗码,直接输⼊然后回⻋即可。
当询问 core cask services 可以回⻋跳过即可。
安装完,在终端输⼊brew -v,能查询到版本即安装成功。
切换阿里镜像源(切换其他镜像源可参考 【Mac】 Homebrew):
- # 查看 brew.git 当前源
- $ cd "$(brew --repo)" && git remote -v
- origin https://github.com/Homebrew/brew.git (fetch)
- origin https://github.com/Homebrew/brew.git (push)
- # 查看 homebrew-core.git 当前源
- $ cd "$(brew --repo homebrew/core)" && git remote -v
- origin https://github.com/Homebrew/homebrew-core.git (fetch)
- origin https://github.com/Homebrew/homebrew-core.git (push)
- # 修改 brew.git 为阿里源
- $ git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git
- # 修改 homebrew-core.git 为阿里源
- $ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git
- # zsh 替换 brew bintray 镜像
- $ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
- $ source ~/.zshrc
- # bash 替换 brew bintray 镜像
- $ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
- $ source ~/.bash_profile
- # 刷新源
- $ brew update
复制代码 2、创建Python虚拟环境
通过Anaconda来创建Python虚拟环境,若未安装可参考 【Mac】安装 Python3 二、2、通过 Anaconda 安装管理 Python
- conda create -n sd python=3.10 -y
- conda activate sd
复制代码 Stable Diffusion 会自行创建一个虚拟环境(venv)用于运行。
3、安装依赖
- brew install cmake protobuf rust git wget libjpeg
复制代码 4、当地部署 SD
在须要安装的⽂件夹(任意文件夹)上右键 ,进⼊终端实行以下代码:
- git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- cd stable-diffusion-webui
- ./webui.sh
复制代码 此时会安装很多东西,Install 的时候大概会卡住,不要慌,请耐心期待。
下载完成后会报错:loading stable diffusion model: FileNotFoundError,这是由于此时还没下载模型。
启动成功会自动弹出应用界面(浏览器),如没有修改端口,则为 http://127.0.0.1:7860
5、模型下载
5.1下载地址
- Hugging Face
- C站
- 哩布哩布AI
- Hugging Face国内镜像站
5.2 SD模型保举
- 47个高质量的 Stable Diffusion 常用模型保举
5.3 模型安装
- 底子模型:将“.ckpt”或“.safetensors”文件放到文件路径:stable-diffusion-webui/models/Stable-diffusion
- 辅助模型:将“.ckpt”或“.safetensors”文件放到文件路径:stable-diffusion-webui/models/Lora
页面选择模型时,大概报错:OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
这是由于 Hugging Face 被墙,若没有邪术是无法下载的。
办理办法:下载 Stable-diffusion openai,解压后直接丢进Stable Diffusion 目录下,重启服务(./webui.sh)即可。
压缩包文件阐明:
- tokenizer.json 和 vocab.json:这两个文件是模型的词汇表和分词器的设置。tokenizer.json通常包含了模型的分词规则和转换计谋,它决定了如何将输入的文本分割成可被模型处理的令牌(tokens)。而vocab.json则存储了模型使用的词汇表,即全部大概的令牌及其对应的唯一标识符。这两个文件是模型理解和处理输入数据的关键。
- config.json:这是模型的设置文件,其中包含了模型架构的详细信息,如层数、隐藏层大小、激活函数等。这些参数直接影响模型的性能和计算资源的需求。在部署模型时,我们须要根据这个设置来构建和初始化模型结构。
- tokenizer_config.json:这个文件大概包含特定于分词器的附加设置,好比特殊字符的处理方式、截断计谋等。它提供了关于如何使用分词器举行数据预处理的额外信息。
- special_tokens_map.json:这个文件界说了模型中的特殊令牌,如开始序列标志、结束序列标志、填充标志等。这些特殊令牌在模型训练和推理过程中有特定的寄义和用途
- preprocessor_config.json:这个文件包含了预处理器的设置,预处理器是负责将原始输入数据转化为模型可以理解的情势的组件。这大概包罗文本标准化、数据增强等步骤。
- merges.txt:在BERT-like模型中,merges.txt文件包含了底子词汇(subwords)的归并规则,用于处理词汇表中未出现的新词。这是通过将两个底子词汇拼接起来形成新的词汇单位来实现的。
- README.md:这是一个Markdown格式的文件,通常包含有关项目、模型或库的阐明和指南,对于用户理解和使用模型是非常重要的。
- openai:这大概是指OpenAI的相干资源或者库,OpenAI是一家专注于研究、开发和应用人工智能技能的公司,他们的GPT系列模型和tokenizer工具在NLP范畴非常著名。如果与稳定扩散模型相干,大概是使用了类似的技能或者接口。
6、添加 「外挂 VAE 模型」、「CLIP 终止层数」
① 选择 Settings,拖到最下面,点击 Show all pages
② command+F 打开搜索,输入 quick 回车,会定位到 Quicksettings list 设置。
③ 在 Quicksettings list 里再添加两项:sd_vae、CLIP_stop_at_last_layers
④ 点击Apply settings,再点击 Reload UI
7、SD 界面根本功能
- Stable Diffusion大模型:绘图的重要模型,大小一般都在几个G。
- VAE模型:可以理解为让图片更明亮一些,保举阅读下 秋葉aaaki大佬 的文章【AI绘画】不是每个模型都须要外挂VAE! VAE真正的作用是什么?
- CLIP终止层数:值越大,出的结果和你预想的差别越大。这个值一般固定用1-4,默认用2就行。
- 文生图:根据提示词来天生图片。框中就是我们写的提示词,只能用英文。
- 正向提示词:告诉 SD 须要天生什么样的图片,好比,一个桃子。
- 反向提示词:告诉 SD 图片中不须要什么元素,好比,狗。意思是不要狗。
- 图生图:图像天生图像。
- 后期处理:图片处理。
- PNG信息:这是一个快速获取图片天生参数的便捷功能。如果图像是在SD里天生的,您可以使用“发送到”按钮将参数快速复制到各个页面。
- 模型融合:您最多可以组合 3 个模型来创建新模型。它通常用于混合两个或多个模型的风格。但是,不能包管归并结果。它有时会产生不须要的伪影。
- 训练:训练页面用于训练模型。它现在支持textual inversion(embedding) 和hypernetwork。
- 设置:更改任何设置后,记得单击“保存设置”后再重载界面。
- 扩展:安装扩展插件。
- 迭代步数:一般地,数值越高,画得越好,时间越长。30是比较符合的数值。
- 采样方法:Euler a 方法是扩散范例的,结果很难控制。一般采用 DPM++ 2S a Karras 等几个,结果不会发生大的变化,而是不断丰富细节,容易控制。
选好根本参数,大模型,迭代步数30,采样方法DPM++ 2S a Karras,再加上提示词,就可以画出一幅比较完整的画了。
二、扩展插件
1、安装方式
Stable Diffusion 插件页面有四个标签页:Installed(已安装)、Available(可下载)、Install From URL(从网址下载)、Backup/Restore(备份/规复)
1.1 Available(可下载)
点击 Extension⇒ 点击 Available⇒ 点击 Load from⇒ 取消勾选 Localization、Installed⇒ 在搜索框输入插件名称⇒ 回车⇒ Install
安装完成 Install 将会变成 installed,也可以在 Extension-installed 下查看
1.2 Install From URL(从网址下载)
点击 Extension⇒ 点击 Install from URL ⇒ 在URL for extension’s git repository 下方的输入框中黏贴 Github项目地址⇒ 点击 Install
1.3 手动下载
通过 git clone 项目地址 或 下载项目到当地再解压,将项目文件夹放到 stable-diffusion-webui/extensions 下边,此时在 Extension-installed 下可以看到已安装好对应的项目
2、应用插件
安装好插件须要应用插件
- 第一步, Extension⇒ installed ⇒ apply and restart UI
- 第二步,在 setting 里修改对应的设置,以汉化插件为例:点击 setting⇒ 在搜索框输入 localization ⇒ 在 localization 中选择 zh_cn ⇒ 点击 apply settings⇒ 点击 reload UI
3、插件保举
3.1 界面中文汉化包
- https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN
- https://github.com/hanamizuki-ai/stable-diffusion-webui-localization-zh_Hans
3.2 提示词自动补全/翻译
- https://github.com/DominikDoom/a1111-sd-webui-tagcomplete
3.3 prompt翻译
- https://github.com/Physton/sd-webui-prompt-all-in-one
3.4 反向提示词
项目地址:https://github.com/picobyte/stable-diffusion-webui-wd14-tagger
比默认图片提取prompt更精准的插件,功能也更强大。
安装成功会看到上面的设置栏多了一个 WD 1.4标签器 (Tagger),点击进入界面
上传一张图片让它分析,首次运行会下载一些依赖,可以在终端窗口查看进度
使用结束后,记得点击下方的“卸载全部反推模型”,否则模型会占用很高的显存。
3.5 Inpaint-Anything
项目地址:https://github.com/geekyutao/Inpaint-Anything
Inpaint-Anything 是一款强大的图像编辑工具,能修复和编辑图像内容,用于删除和更换图像中的任何内容,使用人工智能自动识别和修复图像中的缺陷,无需使用遮罩,好比删除图像中不须要的对象或瑕疵、修复图像中的损坏、更换图像中的对象或配景、创建创意图像效果等
3.6 图库浏览器
项目地址:https://github.com/AlUlkesh/stable-diffusion-webui-images-browser
这个插件用来浏览和管理图片,就不消通过访达来查看图片。
3.7 Tiled VAE
项目地址: https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
显卡内存不够报错:RuntimeError: MPS backend out of memory (MPS allocated: 5.05 GB, other allocations: 2.28 GB, max allowed: 6.80 GB). Tried to allocate 1024.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO-0.0 to disable upper limit for memory allocations (may cause system failure).
启用 Tiled VAE 插件后,它会先天生一个个小的图块,然后再组合在一起形成高分辨率图像,如许就有效防止爆显存情况的出现,不过天生时间会更长一些。
六、进阶学习
- Stable Diffusion 入门和进阶指南 《成为AI绘画高手的末了一站》
- Netty - AI 绘画
八、报错汇总
- Stable diffusion model failed to load
手动下载底子模型,放入models文件夹下的Stable-diffusion文件夹里,点此立即下载
- OSError: Can't load tokenizer for '/clip-vit-large-patch14'
- mkdir openai
- cd openai
- git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14
复制代码 - no module 'xformers'. Processing without...
- 方案一:手动在sd虚拟环境venv中安装xformers
- cd stable-diffusion-webui
- source venv/bin/activate
- pip install xformers
复制代码 此时大概报错 No module named torch,通常是由于 xformers与torch版本不兼容,可在 Github-xformers 查看PyTorch的版本要求
- 方案二:将 xformers 安装在虚拟环境sd中,将
- conda install pytorch torchvision torchaudio -c pytorch-nightly
- conda install xformers -c xformers
- # 不启用虚拟环境venv:将启动脚本第 26 行 use_venv=1 改为 use_venv=0
- vi stable-diffusion-webui/webui.sh
复制代码 - 方案三:https://zhuanlan.zhihu.com/p/602240691
- clang: error unsupported option '-fopenmp'
- brew install gcc
- echo "export CC=/opt/homebrew/Cellar/gcc/14.2.0/bin/gcc-14" > ~/.zshrc
- echo "export CXX=/opt/homebrew/Cellar/gcc/14.2.0/bin/g++-14" > ~/.zshrc
- source ~/.zshrc
复制代码 - urllib.error.URLError: <urlopen error [Errno 61] Connection refused>
汉化的时候,浏览器可以访问,终端无法网站
通过设置当地域名解析修改:在 IP地址查询网站 查询Github IP地址,修改hosts文件
输入开机暗码,在打开的文件末添加以下内容
十、资料
- Mac当地安装部署Stable diffusion最全教程
- Mac下浏览器可以访问github,而终端访问不了
- Stable Diffusion不显示VAE模型、CLIP终止层数
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |