0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用OpenVINO在Stable Diffusion V2.1上实现AI硬件加速的方法

英特尔物联网 来源:英特尔物联网 2023-07-21 11:47 次阅读

文章作者:武卓博士英特尔 AI 布道师

随着 AIGC 模型越来越强大,并取得了更惊人的结果,任意运行 AIGC 模型, 比如 Stable Diffusion,对于开发人员来说仍然面临一些挑战。首先,GPU 的安装设置需要我们处理复杂的配置和兼容性问题,这可能既耗时又令人沮丧。此外,如果运行 Stable Diffusion 代码前需要经过复杂的软件安装和环境配置步骤,这也会带来额外的困难。因为开发者们经常被干净直观的 API 所吸引,这使我们能够轻松地与模型交互并简化我们的工作流程。最后,在没有复杂代码编写以及编译的情况下,如何快速完成硬件加速仍然是一个开发者们优先关心的事项,因为开发者们总是寻求高效而直接的解决方案来充分利用 AIGC 算法的潜力。

d8e8f842-26ec-11ee-962d-dac502259ad0.png

图1.我们需要更改的代码行数以获得英特尔的硬件加速

在这篇文章中,我们将探索使用 Optimum Intel (OpenVINO)在 Stable Diffusion V2.1上实现 AI 硬件加速的最快方法(使用最少的代码行和依赖项安装)。我们还将指导您完成在本地机器上运行 Stable Diffusion 的安装和使用过程,并通过 OpenVINO2023.0版本进行优化和加速。只需几行 Python 代码,您就可以在几秒钟内生成带有文本的图像。此外,OpenVINO简化了在不同硬件平台(包括英特尔 Desktop CPU、iGPU、dGPU 和 Xeon CPU)上加速工作的过程,使您的工作在部署时更加灵活。

01安装

使用如下一行代码安装

pip install -q "optimum-intel[openvino,diffusers]"@git+https://github.com/huggingface/optimum-intel.git

向右滑动查看完整代码

02下载预转换过的

Stable Diffusion 2.1 IR 模型

Stable Diffusion 将6个元素结合在一起,一个带有标记器的文本编码器模型,一个带调度器的 UNet 模型,以及一个带有解码器和编码器模型的自动编码器。

这里使用的基础模型是 "stabilityai/stable-diffusion-2-1-base"。该模型被转换为 OpenVINO格式,用于使用Optimum Intel [OpenVINO] 在 CPU 或英特尔 GPU 上加速推理。模型权重以 FP16 精度存储,这将模型的大小减少了一半。你可以发现这个 Notebook 中使用的模型名称是"helenai/stabilityai-stable-diffusion-2-1-base-ov"。让我们下载带有以下代码的预转换模型 Srable Diffusion 2.1 Intermediate Representation Format (IR)

from optimum.intel.openvino import OVStableDiffusionPipeline
# download the pre-converted SD v2.1 model from Helena's HF repo
name = "helenai/stabilityai-stable-diffusion-2-1-base-ov"


pipe = OVStableDiffusionPipeline.from_pretrained(name, compile=False)
pipe.reshape(batch_size=1, height=512, width=512, num_images_per_prompt=1)

向右滑动查看完整代码

03保存预先训练好的模型,

选择推理设备并编译

我们已经下载了预先训练和转换的 IR 格式 Stable Diffusion 模型。让我们保存模型,并使用以下代码编译它进行 AI 推理

pipe.save_pretrained("./openvino_ir")
pipe.to("GPU.1")
pipe.compile()

向右滑动查看完整代码

04发挥你的创意,输入文本,

享受生成的美图吧

现在是时候发挥创意了!输入创意提示,并使用以下内容欣赏生成的图像。

# Generate an image. 
prompt = "red car in snowy forest, epic vista, beautiful landscape, 4k, 8k"
output = pipe(prompt, num_inference_steps=17, output_type="pil").images[0]
output.save("image.png")
output

向右滑动查看完整代码

以下动图展示了图片生成的各步骤的效果。

image.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    9959

    浏览量

    171718
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4735

    浏览量

    128919
  • AI
    AI
    +关注

    关注

    87

    文章

    30830

    浏览量

    268984
  • python
    +关注

    关注

    56

    文章

    4795

    浏览量

    84658
  • AIGC
    +关注

    关注

    1

    文章

    362

    浏览量

    1542

原文标题:几行代码加速 Stable Diffusion,使用 OpenVINO™ 轻松文生图 | 开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SComAssistant V2.1

    SComAssistant V2.1是一个串口调试软件。
    发表于 03-15 12:19 250次下载
    SComAssistant <b class='flag-5'>V2.1</b>

    串口通信助手v2.1

    串口通信助手v2.1,MATLAB源代码,感兴趣的小伙伴们可以看看。
    发表于 07-25 10:45 10次下载

    ST-Link V2.1 制作使用

    ,都是可以用的, 但有官方维护持续更新的才是有灵魂的, ST-Link V2.1是ST官方推出的新的固件, 需要在特定硬件下才能实现, 下面我们就来简绍一下ST-Link V2.1。2
    发表于 12-22 19:47 26次下载
    ST-Link <b class='flag-5'>V2.1</b> 制作使用

    OBTCAN-IP核用户手册(V2.1)

    OBTCAN-IP核用户手册(V2.1)
    发表于 06-08 15:29 6次下载
    OBTCAN-IP核用户手册(<b class='flag-5'>V2.1</b>)

    Stability AI开源图像生成模型Stable Diffusion

    Stable Diffusion 的很多用户已经公开发布了生成图像的样例,Stability AI 的首席开发者 Katherine Crowson 推特
    的头像 发表于 09-21 15:37 2954次阅读

    AI爱克斯开发板OpenVINO加速YOLOv8目标检测模型

    AI 爱克斯开发板OpenVINO 加速 YOLOv8 分类模型》介绍了
    的头像 发表于 05-12 09:08 1316次阅读
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>爱克斯开发板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b>YOLOv8目标检测模型

    使用OpenVINO算力魔方加速stable diffusion模型

    Stable Diffusion 是 stability.ai 开源的 AI 图像生成模型,实现输入文字,生成图像的功能。
    的头像 发表于 05-12 09:10 1468次阅读
    使用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>在</b>算力魔方<b class='flag-5'>上</b><b class='flag-5'>加速</b><b class='flag-5'>stable</b> <b class='flag-5'>diffusion</b>模型

    AI爱克斯开发板使用OpenVINO加速YOLOv8目标检测模型

    AI爱克斯开发板OpenVINO加速YOLOv8分类模型》介绍了
    的头像 发表于 05-26 11:03 1246次阅读
    <b class='flag-5'>AI</b>爱克斯开发板<b class='flag-5'>上</b>使用<b class='flag-5'>OpenVINO</b><b class='flag-5'>加速</b>YOLOv8目标检测模型

    优化 Stable Diffusion GKE 的启动体验

    Diffusion 等应运而生。Stable Diffusion 是一个文字生成图像的 Diffusion 模型,它能够根据给定任何文本输入生成逼真的图像。我们
    的头像 发表于 06-03 08:35 893次阅读

    AI爱克斯开发板OpenVINO加速YOLOv8-seg实例分割模型

    AI 爱克斯开发板OpenVINO 加速 YOLOv8 目标检测模型》介绍了
    的头像 发表于 06-05 11:52 1007次阅读
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>爱克斯开发板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b>YOLOv8-seg实例分割模型

    iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了

    近日,Snap 研究院推出最新高性能 Stable Diffusion 模型,通过对网络结构、训练流程、损失函数全方位进行优化, iPhone 14 Pro
    的头像 发表于 06-12 15:25 780次阅读
    iPhone两秒出图,目前已知的最快移动端<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b>模型来了

    AI爱克斯开发板OpenVINO加速YOLOv8-seg实例分割模型

    AI 爱克斯开发板OpenVINO 加速 YOLOv8 目标检测模型》介绍了
    的头像 发表于 06-30 10:43 915次阅读
    <b class='flag-5'>在</b><b class='flag-5'>AI</b>爱克斯开发板<b class='flag-5'>上</b>用<b class='flag-5'>OpenVINO</b>™<b class='flag-5'>加速</b>YOLOv8-seg实例分割模型

    OpenVINO赋能BLIP实现视觉语言AI边缘部署

    ,使用 OpenVINO 轻松文生图》中,我们介绍了利用 OpenVINO 运行 Stable Diffusion 模型,快速实现文生图应用
    的头像 发表于 09-01 10:26 2386次阅读

    OpenVIN赋能BLIP实现视觉语言AI边缘部署

    ,使用 OpenVINO 轻松文生图》中,我们介绍了利用OpenVINO 运行Stable Diffusion模型,快速实现文生图应用。让人
    的头像 发表于 09-04 10:54 1w次阅读
    OpenVIN赋能BLIP<b class='flag-5'>实现</b>视觉语言<b class='flag-5'>AI</b>边缘部署

    如何开启Stable Diffusion WebUI模型推理部署

    如何开启Stable Diffusion WebUI模型推理部署
    的头像 发表于 12-11 20:13 102次阅读
    如何开启<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> WebUI模型推理部署