AI作画,国风油画风随心定制~ Stable Diffusion模型使用,三步就上手

前言

最近,AIGC(即AI Generated Content,是指利用人工智能技术来生成内容)真的是火出了天际。除了被挤到服务器满负荷的chatGPT,另一个也颇受瞩目的领域当属AI作画了。利用开源的一类“扩散(diffusion)”模型,你可以随时用AI进行绘画创作。除了常见的网页版注册->输入文本->调用API->等待画作生成->截图或下载保存的流程,当然,作为一个不想被限制的开发者,相信一定有小伙伴想在自己的电脑上、畅行无阻的进行创作。那么就跟随我们下面的简单三个步骤,来看看怎么样在自己的电脑上就能方便快速地搭建好运行Stable Diffusion模型pipeline的环境、随心所欲的让AI来帮你作画吧。

一、OpenVINO™优化加速Stable Diffusion推理部署

由于Stable Diffusion的模型pipeline中包含了若干个尺寸不小的深度学习模型,对运行推理的硬件计算资源有一定的要求。在这里我们使用OpenVINO对原始PyTorch格式的Stable Diffusion模型进行转换,从而对模型pipeline进行优化及推理加速。

具体怎么操作呢?全部的代码我们开源在OpenVINO Notebooks仓库中,具体可参考(openvino_notebooks/notebooks/225-stable-diffusion-text-to-image at main · openvinotoolkit/openvino_notebooks · GitHub)。在这个代码示例中,我们采用了Stable Diffusion模型,将模型转换为 OpenVINO 中间表示 (IR) 格式,以便它在英特尔® GPU 上获得高效运行。另外,通过将 FP32 模型压缩到 FP16,我们将模型大小减少了一半(接近一半),而且运行所需的 RAM/VRAM 现在也少了很多。最重要的是,由于加入了英特尔® Xe 矩阵扩展(XMX),GPU 处理速度也获得了显著提升。

以下是我运行这个 Notebook 得到的一些结果,非常有趣。借助英特尔锐炫™ A770m独立显卡,我可以实现大约每秒 6.0 次的迭代(未使用调试模式)。这意味着生成一幅下面的高质量图像通常只需不到 10 秒钟。

 

二、安装步骤

如需安装 OpenVINO Notebooks,详细的安装步骤可以参考这里(适用于 Windows):Windows · openvinotoolkit/openvino_notebooks Wiki · GitHub

如果您是 Linux 用户,可点击此链接:https://github.com/openvinotoolkit/openvino_notebooks/wiki/Ubuntu

1.安装 Python 3.10.x以及Git,C++ Redistributable (使用Python 3.8的话))并创建一个虚拟环境

python3 -m venv openvino_env
openvino_env\Scripts\activate

2.对目录实施 Git 克隆

git clone --depth=1 https://github.com/openvinotoolkit/openvino_notebooks.git
cd openvino_notebooks

3.安装所有的库和依赖项

python -m pip install --upgrade pip wheel setuptools
pip install -r requirements.txt

三、运行Notebook,进行AI作画

使用以下的命令,加载所有的notebooks:

jupyter lab notebooks

在225-stable-diffusion-text-to-image 文件夹下可以找到AI作画的Notebook代码示例:

运行所有的单元格:

等待一会儿就能看到AI生成的画作啦~

来看看我生成的画作吧。

四、运行小技巧,以及扩展到更多模型

查看Notebook中的代码,我们切实地优化了 PyTorch 管道,并使用 OpenVINO 执行代码,加速推理及画作的生成。

1. OpenVINO IR模型直接下载:

首次下载Stable Diffusion PyTorch模型和转换可能需要一点时间。完成之后,你将得到一组OpenVINO IR 格式的模型文件。为了方便,我们已在这里将这些预训练的优化模型更新到 huggingfacehttps://huggingface.co/bes-dev/stable-diffusion-v1-4-openvino),大家可以直接下载使用。

2. 选择运行推理的设备:

OpenVINO可以非常方便的帮助开发者把模型部署在不同的硬件平台上运行推理。现在,如果你的设备中除了CPU,还有英特尔锐炫独立显卡,您便可将下图中设备名称的代码改为“GPU”。默认情况下,它使用“ AUTO”,并会自动切换至检测到的 GPU

 让它在 GPU 上运行

自动插件。它先使用 CPU,然后自动切换至 GPU。 

3. 调整画作的生成总步数,以及提升输入的文本提示:

在这一步中,我把步骤设置为 30。理想情况下,我将使用 50,以提供最好看的结果。

通过修改输入文本,您可以在这里生成不同的场景。如果想得到非常酷的图像,您可以试试社区整理的一些实用提示。Best 100+ Stable Diffusion Prompts: The Most Beautiful AI Text-to-Image Prompts | Metaverse Post

 4. 使用中文版模型,进行国风绘画:

除了Notebook中展示的Stable Diffusion模型外,以上Notebook代码示例经过几行代码的简单修改,也可以轻松扩展到更多模型,如中文版的Stable Diffusion “太乙”模型IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1 · Hugging Face

将这里的pre-trained模型名称修改为“IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Anime-Chinese-v0.1″

并相应修改这里的分词器

修改为 

from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained("IDEA-CCNL/Taiyi-Stable-Diffusion-1B-Chinese-v0.1")

接着输入一些中文提示词,就能进行国风绘画的创作啦

总结

当下,如果您想了解“Stable Diffusion”的工作原理,以及英特尔硬件的加速方式,OpenVINO Notebooks 无疑是首选。如果您有任何疑问或想要展示您的一些最佳成果,请在这里或通过我们的 GitHub 讨论板发表评论! 祝大家编码快乐啦。

openvinotoolkit/openvino_notebooks · Discussions · GitHub · GitHub

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年6月4日
下一篇 2023年6月4日

相关推荐