在本地跑一个AI模型(5) - Stable Diffusion

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

本文介绍了使用Stable Diffusion扩散神经网络深度学习模型生成图片的方法。首先安装diffusers库和其依赖,然后选择并下载模型。根据模型的属性和自己的喜好选择合适的模型。加载模型时,根据模型类型选择相应的加载方法。根据电脑配置选择GPU推理或者使用M1和M2芯片。选择合适的调度器和提示词可以影响生成图片的质量。最后运行代码即可生成图片。

🔎

延伸解读

模型选择的关键考量

文章指出,选择Stable Diffusion模型时需关注风格和基础模型属性。SD系列仅支持512x512分辨率,SDXL系列可生成1024x1024及以上图片,Turbo系列能缩短生成时间。用户应根据电脑配置和喜好选择,例如从Civitai下载CheckPoint或LoRA模型。

硬件适配与推理设备

根据电脑配置选择推理设备:Windows用户可通过torch.cuda.is_available()判断是否支持GPU推理,Mac的M1和M2芯片可使用'mps'设备。正确设置设备能提升生成效率,避免资源浪费。

调度器与参数调优

调度器对应AUTOMATIC1111中的Sampling method,对图像质量至关重要。文章建议参考模型详情页的作者推荐,如DPM++ SDE Karras对应DPMSolverSinglestepScheduler并设置use_karras_sigmas=True。guidance_scale和num_inference_steps也影响生成效果,需根据建议调整。

提示词处理与长度突破

提示词质量直接影响生成图像,但存在77个token的长度限制。文章介绍使用compel库将提示词向量化,突破限制。通过Compel类处理tokenizer和text_encoder,生成conditioning和pooled嵌入,再传入pipe调用,可支持更长提示词。

❓

Q&A

如何在本地安装Stable Diffusion模型?

可以使用pip命令安装diffusers库及其依赖,首先创建虚拟环境,然后运行'pip install diffusers accelerate transformers'。

选择Stable Diffusion模型时需要考虑哪些因素?

选择模型时应考虑风格(如写实、动漫)、基础模型类型(如SD系列、SDXL系列)以及电脑配置。

如何加载Stable Diffusion模型?

如果模型是单个safetensors格式,使用from_single_file加载;如果是预训练模型,使用from_pretrained加载。

如何判断我的电脑是否支持GPU推理?

Windows用户可以使用'torch.cuda.is_available()'判断,Mac的M1和M2芯片可以使用'device = 'mps''。

提示词的质量如何影响生成的图片?

提示词的写法和内容直接影响生成图像的质量,需注意提示词的长度和描述的准确性。

如何优化生成图片的质量?

可以调整guidance_scale和num_inference_steps参数,并选择合适的调度器来优化生成图片的质量。

🏷️

标签

➡️

继续阅读