业界 | TensorFlow 携手 NVIDIA,使用 TensorRT 优化 TensorFlow Serving 性能( 五 )
-v /tmp:/tmp tensorflow/tensorflow:latest-gpu
/usr/local/bin/saved_model_cli convert
--dir /tmp/resnet/1538687457
--output_dir /tmp/resnet_trt/1538687457
--tag_set serve
tensorrt --precision_mode FP32 --max_batch_size 1 --
is_dynamic_op True
在这里,我们运行了 saved_model_cli 命令行工具,其中内置了对 TF-TRT 转换的支持。--dir和 --output_dir参数会告知它在哪里找到 SavedModel 以及输出转换后的 SavedModel,而--tag_set 则让它知道该转换 SavedModel 中的哪张图表。随后,我们通过在命令行中传递 tensorrt 并指定配置,明确指示其运行 TF-TRT 转换器:
--precision_mode 参数让转换器知道所需用到的精度,目前它仅支持 FP32 和 FP16--max_batch_size 参数确定输入的批次大小的上限。此转换器要求由 TensorRT 处理的所有张量将它们的首个维度作为批次维度,而该参数则让它知道推理过程中会产生的最大值。如果已知推理过程中的实际批次大小上限,同时该值还能够与之匹配,那么转换后的模型就是最优模型。要注意的是,转换后的模型无法处理批次规模大于这里指定了大小的输入,但对于批次规模更小的输入,它还是能够处理的。--is_dynamic_op 参数让它知道在模型运行时进行实际转换。这是因为在转换期间,TensorRT 需要知道所有的形状。对于该案例中所使用的 ResNet 模型,它的张量没有固定的形状,这也是我们需要用到该参数的原因。如此前一样简单,我们现在只需为模型指定正确的目录,便能利用 Docker 提供经 TF-TRT 转换的模型:
推荐阅读
- crisp|阿水等来小明,刘青松携手THESHY,LPL新瓜引争议,UZI回应加盟IG
- 妖精的尾巴|嫌弃业界太菜,《妖精的尾巴》作者掏57万搞游戏,这成本认真的吗
- 电影霸主|大话2超千万的伤害!大君携手全服霸主队伍速刷顶级BOSS天罡18星
- 斗鱼|S11决赛排面十足!斗鱼携手32所高校电竞社打造线下观赛
- zsmj|Dota2-ZSMJ开始整活,携手李哥玩“合砍”!水友:也太拼了吧
- 电子竞技|阴阳师:荒川竞速之修烬携手速刷石距
- perkz|Perkz确认回归欧洲,携手欧一上和前FNC打野会和,G2将迎来尊严之战
- ag战队|AG战队将冲击世界赛冠军,力压LGD拿下门票,携手BS前往世界赛!
- 手机游戏|LOL手游主播表演赛:若风灵药巅峰对决,二珂携手王雨檬强势空降
- 金泰相|Doinb发道歉视频和帖子被狂喷!网友呼吁icon和Doinb携手退役