bert4keras
bert4keras copied to clipboard
TensorRT 部署前转化Tensorflow模型,输入找到多个Unknow input
提问时请尽可能提供如下信息:
基本信息
- 你使用的操作系统: CentOS7
- 你使用的Python版本: 3.7.4
- 你使用的Tensorflow版本: 1.14, 1.15, 2.1.0. 2.2.0 2.3.0
- 你使用的Keras版本: 2.3.0-tf
- 你使用的bert4keras版本: 0.10.7
- 你使用纯keras还是tf.keras: tf.keras
- 你加载的预训练模型: RoBERTa
核心代码
命令
saved_model_cli convert --dir ./pb/ --output_dir ./pb_trt --tag_set serve tensorrt --precision_mode FP32
代码
from tensorflow.python.compiler.tensorrt import trt_convert as trt
model.save("../saved/roberta/tfserving", save_format='tf')
tf.saved_model.save(model, "../saved/roberta/tfserving")
conversion_params = trt.TrtConversionParams(
precision_mode=trt.TrtPrecisionMode.FP32)
converter = trt.TrtGraphConverterV2(input_saved_model_dir="../saved/roberta/tfserving", conversion_params=conversion_params)
converter.convert()
converter.save("../saved/roberta/pb_trt")
输出信息
model.save() 保存的模型

zhuanhuanh转换后的模型

自我尝试
苏神 求助,用tf serving 部署 roberta+CRF,响应时间太长, 想用tensorRT优化一下模型,结果出现如下问题。 尝试过多个保存模型的方法以及多个版本的tf, 都出现同一个结果, input出现多个unknow 无法使用。 顺便请教一下苏神用什么工具部署的,响应时间怎么样。
请问你是怎么把h5的模型转化成tf serving的啊,我抄了几个网上代码都失败了。
请问你是怎么把h5的模型转化成tf serving的啊,我抄了几个网上代码都失败了。
tf2里面有一个tf.model.save 可以直接保存, tf2的keras model.save() 默认保存的tf serving的.pb格式 tf1不用保存成h5, 直接把计算图保存成.pb
我不负责部署,所以我没经验~