4.1 Stable diffusion install
本小节主要的介绍stable diffusion 的安装的以及相关的注意事项
Last updated
本小节主要的介绍stable diffusion 的安装的以及相关的注意事项
Last updated
我之所以要把软件安装的过程都重新演示一遍是因为,我们需要知道软件的基础架构,方便我们的后续在理解的软件的工作原理以及的软件的使用,虽然现在有很多成熟的云服务,可以直接让我们进行使用,事实上我们再很多时候也是倾向于的使用现成的云服务,但是该走的路还是要一定要走的,所以学习这个东西是不能有半点侥幸的心理。
首先设置虚拟环境,我们这里同样使用pyenv 进行虚拟环境设置,这里我们设置虚拟环境为 sdffu
以上的使用的pyenv 进行虚拟环境的管理在的安装,我们从后边的webui.sh 脚本的可以看出会进行
python envn 虚拟环境的检测与创建.所以这一步骤也可以不做。
使用 clone 进行代码仓库的拉取操作,讲代码的拉取到本地的。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
模型下载,这里我们可以首先下载的响应的模型文件,当然我们也可以安装之后进行下载,在模型下载以及管理的过程之中我们要注意的是模型的版本以及不同的下载的路径。
Stable Diffusion 2.0 and 2.1 require both a model and a configuration file, and image width & height will need to be set to 768 or higher when generating images:
For the configuration file, hold down the option key on the keyboard and click here to download v2-inference-v.yaml (it may download as v2-inference-v.yaml.yml). In Finder select that file then go to the menu and select File > Get Info. In the window that appears select the filename and change it to the filename of the model, except with the file extension .yaml instead of .ckpt, press return on the keyboard (confirm changing the file extension if prompted), and place it in the same folder as the model (e.g. if you downloaded the 768-v-ema.ckpt model, rename it to 768-v-ema.yaml and put it in stable-diffusion-webui/models/Stable-diffusion along with the model).
Also available is a Stable Diffusion 2.0 depth model (512-depth-ema.ckpt). Download the v2-midas-inference.yaml configuration file by holding down option on the keyboard and clicking here, then rename it with the .yaml extension in the same way as mentioned above and put it in stable-diffusion-webui/models/Stable-diffusion along with the model. Note that this model works at image dimensions of 512 width/height or higher instead of 768.
从官方描述之中我们可以看到在stable diffusion 2.0 的版本下模型的下载的需要配置配置文件的,并且对于图片的精度要求也有所提高,需要高于768*768 像素。
我们可以先执行4.1.3 安装之后的然后补充下载现有的模型。
降下载的文件放在 models 下的 checkpoints 文件夹下面
可以看到的模型已经被加载在了webui 界面下面,同时我们可以选择其中的底模进行构建操作。
建议可以使用GitHub 上的说明文件,进行模型文件的下载的,但是的如果的简单的话的可以直接到的 hugging face 的界面进行下载,但是这样下载的文件的是比较大的。
经过验证之后的我们发现
直接运行setup.sh 进行安装,在安装的过程之中的我们的会看到的一些提示。
Create and activate python venv
已经自动创建了虚拟环境 venv 并且启动了应用程序 lauch.py
Launching Web UI with arguments: --skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate
在Mac M3平台上运行时,以上参数配置有以下几个主要目的:
兼容性:跳过CUDA测试,适应Apple Silicon不支持CUDA的特性。
性能优化:使用上采样和全精度计算,以充分利用Apple Silicon的计算能力和内存带宽。
资源分配:在图像内容查询时使用CPU,避免GPU过载,提高整体系统性能。
这些配置能帮助你在Apple Silicon平台上更稳定和高效地运行深度学习模型。如果遇到具体问题或需要进一步优化,可以根据实际情况对参数进行调整。
在Mac上运行时,出现“No module 'xformers'. Proceeding without it.”的提示意味着脚本试图使用xformers库,但在当前环境中没有找到这个模块,因此将继续运行但不使用该库。
--upcast-sampling
作用:启用上采样。
用途:上采样使用更高精度的浮点数(一般是从float16到float32),这可以提高图像生成的质量。在Apple Silicon上,Metal API对高精度浮点数的支持可能更好,因此启用这个选项可以提高性能和质量。
--no-half-vae
作用:禁用VAE(变分自动编码器)的半精度浮点数计算。
用途:半精度浮点数(float16)在某些GPU上可以节省显存,但在Apple Silicon上,特别是M系列芯片,使用全精度浮点数(float32)可能会更稳定,因为Metal API对float32的支持更好,且M系列芯片的内存带宽较高,能够处理全精度计算。
--use-cpu interrogate
作用:使用CPU而不是GPU来执行图像内容的查询操作。
用途:Apple Silicon的CPU性能非常强大,在某些计算任务中,特别是当GPU资源有限或你希望CPU和GPU协同工作时,使用CPU来执行图像内容查询是一个合理的选择。这也可以避免GPU在执行其他深度学习任务时过载。
添加的分享--share 之后的就可以发现是可以访问了
just add
export COMMANDLINE_ARGS="--no-gradio-queue"
in webui-user.sh
at 13 row.
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/9132
添加这个以后能开代理,在某些时候的因为开了代理软件才会报错的内容
备注:有些时候我们在运行程序的时候会发现程序报错,例如Tensorflow 的报错,信息,可能是有冲突造成的。
在同一个项目中,只使用一个深度学习框架(PyTorch或TensorFlow)会更简洁和高效。如果你只需要使用PyTorch,可以忽略TensorFlow的错误信息,甚至可以考虑卸载TensorFlow以简化环境和避免潜在的资源冲突。使用虚拟环境是管理不同项目和依赖的最佳实践。