layerism / TensorRT-Inference-Server-Tutorial

服务侧深度学习部署案例
454 stars 73 forks source link

tf_backend 应该速度比较慢吧,用 tensorrt int8的backend是不是最快? #1

Open 121786404 opened 4 years ago

layerism commented 4 years ago

前处理有 image decoder 没法 int8,当然,你可以把标准化过程放到 network 里面去,这个可以稍微加速一点。tensorrt int8 对巨大模型有好处,主要是降低显存占用,可以开启非常多实例,提高吞吐,小到一定程度加个几毫秒而已,上不上 trt 感觉不出来太多效果。

121786404 commented 4 years ago

把前处理放到tensorrt里面,这样模型输入rgb数据就可以了,数据传输就大大减少了,我觉得这样会比较合理

layerism commented 4 years ago

数据在各个 backend 之间的数据交换实在服务端显卡里面完成的,唯一需要传输的是原始图片的二进制,这个没几个字节,传的很快的。

121786404 commented 4 years ago

一张1080P的图片,float32 是1920X1080X3X4字节 rgb是1920X1080X3 数据量差了4倍啊,而且用GPU做前处理应该会更快把?

layerism commented 4 years ago

pre_process 函数写了 image_decoder,要求传的不是 float32 矩阵,而是 open("xxx.jpg", "rb").read() 的原始图片文件的二进制

121786404 commented 4 years ago

sorry,刚才仔细看了一下,大概看明白了,节后好好研究下,再请教,感谢。

austingg commented 4 years ago

@121786404 Tensorflow 的image库都是在cpu上运行的。