Stable Diffusion(SD)经典永流传,时至今日仍不过时 d(`・∀・)b
因此,实现一个 SD 插件自然成为能够快速说明 carefree-drawboard 🎨 的功能与强大之处的案例。本篇文章里,我们将介绍如何实现 SD 最基础的功能——输入文本,生成图片(文生图)。我们会在本文中给出一个最小可运行插件的实现,然后在后续的文章中由浅入深地丰富、完善它,以使得该插件能支持绝大多数文生图的参数/功能。在本系列的最后,你将会得到一个能指定如下参数的 SD 文生图插件:
-
提示词(prompt)
-
负面词(negative_prompt)
-
图片宽高(width, height)
-
采样步数(num_inference_steps)
-
引导强度(guidance_scale)
-
生成张数(num_images_per_prompt)
本文将会只实现第一个参数,亦即只支持用户指定提示词,其余参数会在后续的系列文章中进行补全 本系列实现的 SD 文生图插件背后用的是著名的 diffusers 库,上述参数正是与其 SD 文生图函数一一对齐的 此外,SD 的其它功能也将会在后续文章里一一引入,包括但不限于垫图生成(图生图)、LoRA、ControlNet 等等,敬请期待!σ`∀´)σ
准备工作
首先,需要安装 carefree-drawboard 🎨 库和一些相关依赖:
pip install -U carefree-drawboard transformers diffusers[torch]
然后,为了之后运行得更快,可以事先执行如下安装命令:
cfdraw install
定义插件样式
文生图的最小可运行插件,自然就是要让用户能够输入一段文本,然后根据用户输入的文本去生成相对应的图片了。幸运的是,在著名的 diffusers 库的帮助下,这个功