文章作者:武卓博士 英特尔 ai 布道师
随着 aigc 模型越来越强大,并取得了更惊人的结果,任意运行 aigc 模型, 比如 stable diffusion,对于开发人员来说仍然面临一些挑战。首先,gpu 的安装设置需要我们处理复杂的配置和兼容性问题,这可能既耗时又令人沮丧。此外,如果运行 stable diffusion 代码前需要经过复杂的软件安装和环境配置步骤,这也会带来额外的困难。因为开发者们经常被干净直观的 api 所吸引,这使我们能够轻松地与模型交互并简化我们的工作流程。最后,在没有复杂代码编写以及编译的情况下,如何快速完成硬件加速仍然是一个开发者们优先关心的事项,因为开发者们总是寻求高效而直接的解决方案来充分利用 aigc 算法的潜力。
图1. 我们需要更改的代码行数以获得英特尔的硬件加速
在这篇文章中,我们将探索使用 optimum intel (openvino)在 stable diffusion v2.1上实现 ai 硬件加速的最快方法(使用最少的代码行和依赖项安装)。我们还将指导您完成在本地机器上运行 stable diffusion 的安装和使用过程,并通过 openvino 2023.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 reponame = helenai/stabilityai-stable-diffusion-2-1-base-ovpipe = 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, 8koutput = pipe(prompt, num_inference_steps=17, output_type=pil).images[0]output.save(image.png)output
向右滑动查看完整代码
以下动图展示了图片生成的各步骤的效果。
腾讯大范围招聘 计划在硅谷研发自动驾驶技术
WPC无线充电标准进阶到Qi 1.3.1,GRL解读需要怎样的测试?
荣耀路由Pro2和小米路由器Pro哪个好
java应用服务器有什么作用_java应用服务器有哪些
iphone8什么时候上市?五大猜测基本确定,哪个才是你最期待的!
使用OpenVINO在Stable Diffusion V2.1上实现AI硬件加速的方法
基于使用Arduino板及电机驱动器对机器人进行编程介绍
寒冬过后的苹果,2019年会从泥潭中重回全球第一公司吗?
骨传导运动耳机排行榜10强,即将2024年最值得入手的四款骨传导耳机
摩托罗拉RAZR折叠屏手机,能否撼动华为三星的地位
通过测量有源元件的管芯温度监控电子系统的热耗散
使用MEMS惯性传感器进行设计
西安曲江新区一楼房外立面起火 起火原因拟劣质LED灯带引起
快速了解西门子串口PPI、200、200smart驱动协议如何使用
罗德与施瓦茨中标中国移动5G扫频器项目 Sondrel模块加速新ASIC设计实施
新墨西哥州立大学:时间分辨流式细胞术
新思科技DesignDash解决方案帮助开发者更智慧地设计芯片
环境对变频器使用寿命有什么影响
开放创新平台_打通物联网的最后一道里程
LG与美国高通公司在下一代智能手机上继续合作