onnx转tensorflow以便于发挥显卡的混合精度

文章比较了Triton中使用TensorFlow和ONNX进行混合精度计算的性能。尽管ONNX在单个序列处理上有优势,但在批量处理(如50条)时,TensorFlow混合精度模型的性能显著高于ONNX,提升超过两倍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

triton目前只有tensorflow可以打开混合精度充分使用T4和V100显卡的混合精度计算单元。

#import os
#os.environ["CUDA_VISIBLE_DEVICES"] = "1"
import onnx
from onnx_tf.backend import prepare
onnx_model = onnx.load("onnx/model.onnx")  # load onnx model
#strict需要为False,否则转换的TF模型运行报错
tf_rep = prepare(onnx_model, strict=False)  # prepare tf representation
#tf_folder里的就是TF模型,可直接拷贝到triton里运行
tf_rep.export_graph("tf_folder") # export the model

性能测试

onnx选择sbert的动态轴onnx

TF模型在triton里打开混合精度

测试时,和pytorch一样,triton的perf_analyzer需要使用--input-data zero,否则测试报错

Tensorflow混合精度下的测试

sequence 7

batch 1: 38

batch 50: 1620

batch 100: 2600

sequence 128

batch 1: 38

batch 50: 840

batch 100: 1020

sequence: 512

batch 1: 35

batch 50: 230

batch 100: 240

onnx的测试

当sequence为512时

batch 1: 82

batch 50: 100

测试比较

在单个处理的速度上,onnx胜过使用了混合精度的Tensorflow模型;

在批量处理上,如批量50条,则应用了混合精度的Tensorflow模型比Onnx模型性能高2倍多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值