最近深度学习算法被广泛研究和应用,而tensorflow则是被应用最为广泛的工具。tensorflow训练的模型被应用在线上时,主要有3种方式(本文主要讨论java方向的应用):
1:java代码重写预测代码(应用效率太低)
2:tensorflow serving加载tensorflow模型,通过rpc服务调用,改种方式耗时较长,不满足线上要求(之前测试的结果)
3:tensorflow sdk加载tensorflow模型(目前线上应用的方式)
采用tensorflow sdk 加载模型有几个条件:
1):需要tensorflow 版本1.1.0以上
2):部署环境需要centos7
3):需要jdk1.8
A:tensorflow保存模型的方式为:
每一次保存模型版本号都需要更新,不然会保存失败,但tag可不变。
B:java加载tensorflow保存的模型
C:预测时,模型入参都需要tensor变量,如果是矩阵可保存为二维数组,然后创建tensor作为入参。
D:模型预测结果也是tensor,因此需要对结果进行转换