近期一直在调研如何提高tensorflow predict的性能,期望达到更低耗时和更低的cpu消耗,期间磕磕绊绊跌宕起伏,最终还是没有达到预期。
在经历将近一个星期的的google、Stack Overflow、github的资料搜索依然没有找到合适工程方面的优化手段,最后无奈开始转向tensorflow serving这个来自谷歌官方的TF容器。
当然结论是令人失望的,tensorflow serving这个容器在低耗时和低cpu消耗这两个指标上跟我们直接用java手写的容器相差无几,并没有任何质的提升,后来想想也是,毕竟都是一个加载tensorflow模型的容器,能做的优化点其实非常有限。
唯一意外的收获就是在调研tensorflow serving的过程中对整个predict的过程进行了更细致的阶段分解,然后额外发现提升30%约8ms的方法,也是意外之喜吧。
因为自己经历的tensorflow serving调研过程非常痛苦,所以就想把整个过程记录分享出来,供真正有应用需求的人借鉴。
整个系列分为主要分为3部分,包括:
- 如何通过docker启动tensorflow serving并加载模型。
- 编译tensorflow serving java api。
- 使用tensorflow serving java api编程
都是坑,都是泪,都是干货,请期待。
网友评论