草庐IT

AI作画,OpenVINO助你在英特尔 ®GPU 上随心创作

英特尔开发人员专区 2023-04-07 原文

作者:武卓

最近,AIGC(即AI Generated Content,是指利用人工智能技术来生成内容)真的是火出了天际。除了被挤到服务器满负荷的chatGPT,另一个也颇受瞩目的领域当属AI作画了。利用开源的一类“扩散(diffusion)”模型,你可以随时用AI进行绘画创作。这么火爆的扩散模型,我们的OpenVINO当然也是可以对它进行优化,并在英特尔® GPU上进行画作生成的加速的。具体怎么操作呢?全部的代码我们仍然开源在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 秒钟。

1a-c)在基于 OpenVINO Notebooks 和英特尔锐炫™ A770m 的平台上,通过“Stable Diffusion”模型文本转图像功能生成的结果。

除了由文本生成图像进行AI作画,我们的代码示例还包括了图像转图像示例,可以将照片转为水彩画。

看完了以上的AI作画的结果,你有没有心动、想自己动手试试呢?接下来,我们来看看你需要哪些主要步骤,就能在自己的机器上运行我们这个Stable Diffusionnotebook代码示例了。

首先,这是 OpenVINO Notebooks的仓库。它具有您今天完成演示所需要的一切。

openvino_notebooks/notebooks at main · openvinotoolkit/openvino_notebooks

如果您希望只启动一个 notebook,如 Monodepth notebook,请运行以下命令。在浏览器中,选择...

github.com

Stable Diffusion位于 225-stable-diffusion-text-to-image 文件夹下

notebook代码示例 中,我们不仅介绍了著名的文本转图像管道,还加入了图像转图像生成管道。但它的真正意义是什么?我们如何运行它?

管道

如何安装

如需安装 OpenVINO Notebooks,您可参照此处的说明(适用于 Windows):Windows · openvinotoolkit/openvino_notebooks Wiki · GitHub

如果您是 Linux 用户,可点击此链接:Ubuntu · openvinotoolkit/openvino_notebooks Wiki · GitHub

总体而言,您可实施以下几步。

安装 Python 3.10.x(或下方内容)并创建一个虚拟环境

python3 -m venv openvino_env
source openvino_env/bin/activate #for linux

对目录实施 Git 克隆

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

安装所有的库和依赖项

pip install -r requirements.txt

运行 Jupyter Notebook

jupyter lab notebooks

运行所有单元格并等待 =)

现在,查看代码。我们切实地优化 PyTorch 管道,并使用 OpenVINO 执行代码。

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

bes-dev/stable-diffusion-v1-4-openvino at main

我们正通过开源和开放科学推动人工智能的发展和普及。

huggingface.co

现在,如果您有幸使用英特尔锐炫独立显卡,您便可将下图中设备名称的代码改为“GPU”。默认情况下,它使用“ AUTO”,并会自动切换至检测到的 GPU

让它在 GPU 上运行

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

在这一步中,我把步骤设置为 30。理想情况下,我将使用 50,以提供最好看的结果。通过修改输入文本,您可以在这里生成不同的场景。如果想得到非常酷的图像,您可以试试社区整理的一些实用提示。Best 100+ Stable Diffusion Prompts: The Most Beautiful AI Text-to-Image Prompts | Metaverse Post

最后,我们还生成了 GIF 文件,以便您可视化展示各步骤的情况。

最终结果。

图像转图像管道

现在,如果继续运行 notebook,您会看到我们也可以使用提示来影响”最终图像的显示效果。我们在此处提供了一个将照片转换为水彩画的示例。

根据初始图像和提示生成图像。这样可得出基于指导的结果。

图像转图像结果。

结论

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

openvinotoolkit/openvino_notebooks · Discussions · GitHub · GitHub
 

有关AI作画,OpenVINO助你在英特尔 ®GPU 上随心创作的更多相关文章

  1. 未来的趋势————以ChatGPT为标杆的AI对生活的影响是巨大的 - 2

    文章目录前言1.AI的发展历程2.我是如何接触到人工智能的概念和产品的3.对于ChatGPT的一点看法4.AI对大学毕业生的职业发展的利与弊5.对于AI的思考和问题前言随着ChatGPT的爆火,生成式AI,大模型的人工智能被越来越多的人注意到,同时他也带来了许多问题。本文将对几方面进行探讨。1.AI的发展历程远古时期在公元前第一个千禧年,中国,印度和希腊哲学家都提出了一些推理的研究理论,比如亚里士多德(Aristotle)进行了演绎推理三段论的完整分析,欧几里得(Euclid)所著Elements是一种形式推理的模型,MuḥammadibnMūsāal-Khwārizmī,发明了代数学,即我们

  2. 焕新古文化传承之路,AI为古彝文识别赋能 - 2

    目录1古彝文与古典保护2古文识别的挑战2.1西文与汉文OCR2.2古彝文识别难点3合合信息:古彝文保护新思路3.1图像矫正3.2图像增强3.3语义理解3.4工程技巧4总结1古彝文与古典保护彝文指的是云南、贵州、四川等地的彝族人使用的文字,区别于现代意义上的彝文,古彝文指的是在民间流通使用的原生态彝文,多达87046字。古彝文的起源距今至少数千年,是世界上最古老的文字之一。对古彝文字集研究有助于理解尚未被翻译成汉文、用字尚未规范化的古籍,更深层、透彻地作用于传统文化保护。古彝文字义对照图(网络资料+邵文苑供图)古籍是不可再生的宝贵资源,应当得到妥善保护。中国的古籍在历史上迭经水火兵燹等自然灾害、

  3. 从零开始系列(1)—— Anaconda + PyCharm + PyTorch(GPU) + 虚拟环境(全步骤,多图警告) - 2

    Anaconda+PyCharm+PyTorch(GPU)+虚拟环境声明一、安装Anaconda二、安装PyCharm三、创建虚拟环境并安装PyTorch四、关联虚拟环境五、致谢声明感谢姜小敏同学对我的支持、鼓励和鞭策!默认你的电脑上已经装有GPU,如果没有GPU,可以正常的进行各种下载安装操作,但是最终结果会有所不同。一、安装Anaconda首先,进入Anaconda官网,单击Download按钮,稍微等待即可下载安装包。下载好之后,双击打开安装包,进行一系列安装操作。建议安装路径全英文,并且一定要记住安装地址。此处不勾选第二项,因此之后需要人为配置环境变量。没啥用,不用勾选,就是跳出两个打

  4. 在jupyter notebook中配置GPU - 2

    1.打开AnacondaPrompt,查看虚拟环境中安装了那些kerneljupyterkernelspeclist目前环境中有两个环境,一个是我们的base环境,另一个是我们新安装的tensorflowGPU版本。如果要删除新安装的GPU版本,直接按照上面的路径删除文件夹即可。接下来正式在jupyternotebook中配置GPU。2.打开AnacondaPrompt,安装ipykernelcondainstallipykernel3.接下来创建ipykernel文件condainstall-n环境名称ipykernel我的GPU版本为tensorflow,所以执行以下命令即可:condai

  5. Unity3D学习笔记8——GPU实例化(3) - 2

    文章目录1.概述2.详论2.1.自动实例化2.2.MaterialPropertyBlock3.参考1.概述在前两篇文章《Unity3D学习笔记6——GPU实例化(1)》《Unity3D学习笔记6——GPU实例化(2)》分别介绍了通过简单的顶点着色器+片元着色器,以及通过表面着色器实现GPU实例化的过程。而在Unity的官方文档CreatingshadersthatsupportGPUinstancing里,也提供了一个GPU实例化的案例,这里就详细论述一下。2.详论2.1.自动实例化一个有意思的地方在于,Unity提供的标准材质支持自动实例化,而不用像《Unity3D学习笔记6——GPU实例

  6. 「认识AI:人工智能如何赋能商业」【04】机器学习的商业应用 - 2

    作者|Harper审核 |gongyouliu编辑|auroral-L机器学习的商业应用上期给大家介绍了机器学习的概念,但是理解机器学习最好方法之一,就是了解其在具体商业世界中的各种应用。在道格’罗斯的这本《认识AI,人工智能赋能商业》中,介绍了几类机器学习的商业应用,在这里我给大家归纳一下。第一,数据安全,为了避免被发现,制造恶意软件的人会不断更改代码,通常为2%~10%的修改,但是通过机器学习,安全软件可以适应这一小部分变化,并准确识别新创建的恶意软件。它还可以寻找访问方式的模式,以识别可能的安全威胁。第二,投资。机器学习使得计算机能够处理大量的财务数据,并利用其发现的规律预测市场及每只股

  7. CPU和GPU区别(GPU入门) - 2

    文章目录什么是超算CPUGPUCPU和GPU联系GPU和CPU的区别硬件结构区别串行和并行CUDA编程模型概览线程格(Grid)线程块(Block)线程(Thread)核函数(Kernel)什么是超算把计算机连接在一起,获得更强大计算能力原来:串行计算现在:并行提交任务计算超算:就是一群计算机超算使用的技术:GPU技术。CPU在CPU基础上增加GPU来协助CPU。CPU局限性:CPU由于物理限制,遇到了工艺上壁垒,主频无法突破。而GPU却仍在高速的增长。GPUGPU英文全称GraphicProcessingUnit,中文翻译为“图形处理器”。与CPU不同,GPU是专门为处理图形任务而产生的芯片

  8. 基于ChatGPT的智能问答、ai绘图微信小程序思路 - 2

    ChatGPT![在这里插入图片描述](https://img-blog.csdnimg.cn/186d9ecc453b48be9f19c467da7c3f07.jpegChatGPT是openai公司的一个人工智能机器人产品,目前已经升级到4.0版本。其因便捷高效,已经在大学生、IT届、科研界等领域广为流传。但是直接进入其官网使用有时候并不是那么方便,毕竟他不开放给中国用户使用,我们需要一些魔法才能用上。如果做成一个微信小程序随时随地打开就能用的话,会方便很多。正好openai官方也开放了api供开发者使用。我们可以进入openai官网https://platform.openai.com/

  9. AI 芯片的简要发展历史 - 2

    随着人工智能领域不断取得突破性进展。作为实现人工智能技术的重要基石,AI芯片拥有巨大的产业价值和战略地位。作为人工智能产业链的关键环节和硬件基础,AI芯片有着极高的技术研发和创新的壁垒。从芯片发展的趋势来看,现在仍处于AI芯片发展的初级阶段。未来将是AI芯片发展的重要阶段,无论是架构还是设计理念都存在着巨大的创新空间。一、芯片的发展历史1956年达特茅斯会议上,科学家约翰·麦卡锡,克劳德·香农和马文·明斯基提出了"人工智能"一词。50年代末,阿瑟·萨缪尔(ArthurSamuel)提出了"机器学习"这个术语,他开发了一个西洋跳棋程序,可以从错误中吸取教训,经过学习后,甚至比编写程序的人棋力更强

  10. Javascript 和 AI,事实还是虚构? - 2

    很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。在电视上我看到了一些有趣的机器人。这些有一些二极管、太阳能收集器和一些马达。二极管决定光的位置,因此它们将机器人转向为它提供光的方向。它有点跟随光。现在,基于此,我想知道一些简单的AI。有没有办法编写一个可以从用户交互中学习的引擎?作为初学者,只学习和记住用户在页面上的session就足够了。感谢任何帮助。

随机推荐