tensorrt icon indicating copy to clipboard operation
tensorrt copied to clipboard

Converting BERT to TensorRT FP16 model added a lot of inputs named "unknown"

Open statikkkkk opened this issue 5 years ago • 5 comments

Versions:

  • Tensorflow 2.2 (TensorRT 6, CUDA 10)

After pulling a transformer model, specifically albert-base-v2 from Huggingface:

albert = TFAlbertModel.from_pretrained('albert-base-v2')

I wanted to run TensorRT inference on the model, so, I tried to convert it using Tensorflow's API

params = tf.experimental.tensorrt.ConversionParams(
        precision_mode="FP16",
        maximum_cached_engines=128,
        # 8GB workspace size to accomendate for big models
        max_workspace_size_bytes=8000000000,
    )
converter = tf.experimental.tensorrt.Converter(
        input_saved_model_dir=input_model_path,
        input_saved_model_tags=tag_constants.SERVING,
        input_saved_model_signature_key="serving_default",
        conversion_params=params) 

converter.convert()
converter.build(input_fn=my_input_fn)
converter.save(output_model_path)

def my_input_fn():
    # (Optional) Generate more TRT engines offline (same as the previous
    # option), to avoid the cost of generating them during inference.
    for model_input, _ in ds_test:
        yield model_input[0], model_input[1], model_input[2]

However, the conversion is unsuccessful, with the following output:

Traceback (most recent call last):
  File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 1628, in _call_impl
    args.append(kwargs.pop(compat.as_str(keyword)))
KeyError: 'unknown'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ryanli/code/tensorflow-lm-tensorrt/tensorflow_trt.py", line 126, in <module>
    convert_saved_model_to_trt(INPUT_MODEL, TRT_MODEL_FP16, precision_mode="FP16")
  File "/home/ryanli/code/tensorflow-lm-tensorrt/tensorflow_trt.py", line 53, in convert_saved_model_to_trt
    converter.build(input_fn=my_input_fn)
  File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/compiler/tensorrt/trt_convert.py", line 1174, in build
    func(*map(ops.convert_to_tensor, inp))
  File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 1605, in __call__
    return self._call_impl(args, kwargs)
  File "/anaconda/envs/azureml_py36/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 1637, in _call_impl
    list(set(self._arg_keywords) - set(specified_keywords))))
TypeError: Expected argument names ['mask_inputs', 'seg_inputs', 'token_inputs', 'unknown', 'unknown_0', 'unknown_1', 'unknown_2', 'unknown_3', 'unknown_4', 'unknown_5', 'unknown_6', 'unknown_7', 'unknown_8', 'unknown_9', 'unknown_10', 'unknown_11', 'unknown_12', 'unknown_13', 'unknown_14', 'unknown_15', 'unknown_16', 'unknown_17', 'unknown_18', 'unknown_19', 'unknown_20', 'unknown_21', 'unknown_22', 'unknown_23', 'unknown_24', 'unknown_25', 'unknown_26', 'unknown_27'] but got values for ['mask_inputs', 'seg_inputs', 'token_inputs']. Missing: ['unknown_6', 'unknown_17', 'unknown_22', 'unknown_9', 'unknown_2', 'unknown_12', 'unknown_15', 'unknown_3', 'unknown_21', 'unknown_10', 'unknown_1', 'unknown_7', 'unknown_5', 'unknown_13', 'unknown_19', 'unknown_4', 'unknown_0', 'unknown_24', 'unknown_16', 'unknown_11', 'unknown', 'unknown_25', 'unknown_8', 'unknown_18', 'unknown_23', 'unknown_26', 'unknown_14', 'unknown_20', 'unknown_27'].

So, somehow, the converted model suddenly is taking a ton of extra arguments called unknown. Anyone have any idea why?

statikkkkk avatar Jun 23 '20 21:06 statikkkkk

A similar issue: https://github.com/tensorflow/serving/issues/1675

statikkkkk avatar Jun 23 '20 21:06 statikkkkk

@sanjoy @bixia1 Can you PTAL? Thanks!

gowthamkpr avatar Jun 28 '20 02:06 gowthamkpr

Any updates please?

statikkkkk avatar Jul 09 '20 17:07 statikkkkk

Did you solve this problem? thx

XiaofengZHOU avatar Dec 01 '20 06:12 XiaofengZHOU

I've encountered the same issue, any update on this problem? May I ask how did you solve the problem then? @statikkkkk

Samuel-Fang avatar Aug 30 '22 08:08 Samuel-Fang