如果我只有一个奔腾CPU,怎么加速推理神经网络?

文章探讨了如何在资源有限的旧CPU上优化AI模型,特别是针对StyleTransferGAN。通过调整ONNXRuntime的设置,如固定输入尺寸、关闭特定优化、增加线程数等方法,实现了模型推理速度的显著提升,证明了即使在低性能硬件上,也能通过技术手段提高AI模型的实用性。

前言

有人说当下的AI热潮不过是算力堆砌的产物。现在层出不穷的各种大模型大训练集,使用复杂精致的技术在排行榜上不断刷新分数,这些人似乎忘了一件事情,AI模型最终是要落地的,是要用的,如果不能普及开去那和在象牙塔中精心雕刻雕塑又有什么区别呢?尽管现在有不少简单易用的框架都支持硬件加速,但gpu高昂的成本和厂家自我研发的诸如NPU之类的框架复杂度依然存在。所以本文将以一个天真可爱的想法展开,如果我就是个穷鬼,掏不起钱买显卡,只有一个五年前的Intel低端cpu,但我也想玩时下流行的style transfer GAN,该怎么办?

环境

首先迎来本文的主角1号,我们的style transfer模型xxx.onnx:
处于隐私保护,这里不能透露主角的姓名,只能通过输入输出来管中窥豹捏。
在这里插入图片描述
可以看到输入是1,?,?,3,输出是?,?,?,3,我们确认这是个nhwc的输入,和onnx的标准输入形状ncwh是不一样的捏,据说这点会影响性能推理,但实测下来并没有。此外,?号表示动态输入,说明这个模型的输入输出都没有固定形状。如果你还是听不懂的话,就是图片进模型图片出模型捏,像下面这样:

原图:
在这里插入图片描述
生成图:
在这里插入图片描述
然后是本文主角2号,咱们高贵的奔腾cpu:
在这里插入图片描述

最后是本文主角3号:
python3.10.6
Onnxruntime1.14.0
在这里插入图片描述

加速

1.基准测试

import onnxruntime as ort
options = ort.SessionOptions()
options.enable_profiling = True #记录性能开关
result = session.run
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值