bert4keras icon indicating copy to clipboard operation
bert4keras copied to clipboard

TensorRT 部署前转化Tensorflow模型,输入找到多个Unknow input

Open RumRaisins opened this issue 4 years ago • 3 comments

提问时请尽可能提供如下信息:

基本信息

  • 你使用的操作系统: 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() 保存的模型
![image](https://user-images.githubusercontent.com/23291220/132193235-e7255358-333e-4794-a25a-e78497906aa3.png)
zhuanhuanh转换后的模型
![image](https://user-images.githubusercontent.com/23291220/132193124-30652c1d-cd8e-4b67-8ebc-39a1acbb7609.png)

自我尝试

苏神 求助,用tf serving 部署 roberta+CRF,响应时间太长, 想用tensorRT优化一下模型,结果出现如下问题。 尝试过多个保存模型的方法以及多个版本的tf, 都出现同一个结果, input出现多个unknow 无法使用。 顺便请教一下苏神用什么工具部署的,响应时间怎么样。

RumRaisins avatar Sep 06 '21 09:09 RumRaisins

请问你是怎么把h5的模型转化成tf serving的啊,我抄了几个网上代码都失败了。

alkaideemo avatar Sep 14 '21 07:09 alkaideemo

请问你是怎么把h5的模型转化成tf serving的啊,我抄了几个网上代码都失败了。

tf2里面有一个tf.model.save 可以直接保存, tf2的keras model.save() 默认保存的tf serving的.pb格式 tf1不用保存成h5, 直接把计算图保存成.pb

RumRaisins avatar Sep 23 '21 00:09 RumRaisins

我不负责部署,所以我没经验~

bojone avatar Sep 26 '21 14:09 bojone