tensorrt server如何支持Pytorch模型

笔者这里先抛出一个问题,tensorrt server和tensorrt有什么关系吗?

大家可以思考一下哈?


它们是没什么关系的,或者说关系不大。tensorrt是用于深度学习推理的框架,与tensorflow、mxnet、pytorch等并列,而tensorrt server本身只是一个http的服务框架,只不过增加了dynamic batch、multiple framework support等特性,作为一个服务框架,其本质上是和flask、tf serving等框架的作用相同。因此,如果只是加载tensorflow框架的pb模型、pytorch框架的onnx模型的话,那么和flask加载这些模型的效果基本相同,是不能够做加速的。那么怎么对在线服务做加速呢?

不管是什么深度学习框架训练出来的模型,比如tensorflow、mxnet、pytorch等,都需要利用tensorrt做graph optimization和quantize之后,才能够使线上的推理任务加速。可以把已有的深度学习框架分为两类,

(1) tensorflow的pb模型:可以先转成.tftrt的FP16模型,然后在tensorrt server中加载该量化后的模型;

(2) pytorch/caffe/mxnet模型:可以先统一转成.onnx的模型,然后转成.trt模型,然后再对.trt模型做量化,得到.trt的FP16模型,最后在tensorrt server中加载该量化后的模型;

注意:第一类模型整个转换比较简单,第二类模型转换会有一些坑,笔者认为最主要的是如下两个问题,a) tensorrt内置的parser在解析pytorch等框架的模型时,可能会遇到不支持的layer,此时需要在tensorrt中自定义适用于该layer的plugin;b).onnx模型到.trt模型时转换失败,可能是tensorrt版本和pytorch版本之间的兼容性导致的,或者是同时加载了torch和tensorrt库,具体可以参见https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#import_onnx_python。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
05-25 1061

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值