Same issue has been reported via https://developer.nvidia.com
[Nvidia Bug ID]
2541709
[Platform Details]
Linux distro and version: Ubuntu 16.04.5 LTS
GPU type: GeForce GTX 1080 Ti
nvidia driver version: 410.72
CUDA version: 9.0.176
CUDNN version: 7.5.0.56
Python version [if using python]: 3.5.2
Tensorflow version: 1.12.0
TensorRT version: debian packages with 5.1.2-1+cuda9.0
in nv-tensorrt-repo-ubuntu1604-cuda9.0-trt5.1.2.2-rc-20190227_1-1_amd64.deb
[Python codes to reproduce an issue]
import numpy as np
import tensorflow as tf
import tensorrt as trt
import uff
TRT_LOGGER = trt.Logger(trt.Logger.Severity.INFO)
INPUT_DIMENSIONS = [1, 2, 3]
graph = tf.Graph()
with graph.as_default():
input_tensor = tf.placeholder(tf.float32, INPUT_DIMENSIONS, name='input')
# [1, 2, 3] -> [1, 2, 1]
sliced = tf.strided_slice(input_tensor, begin=[0, 0, 2], end=INPUT_DIMENSIONS, strides=[1, 1, 1], name='output')
print('sliced tensor shape: {}'.format(sliced.shape))
with tf.Session() as sess:
sliced_np = sess.run(sliced, {input_tensor: np.ones(INPUT_DIMENSIONS)})
print('sliced numpy shape: {}'.format(sliced_np.shape))
UFF_PATH = '/tmp/test_strided_slice.uff'
serialized_uff = uff.from_tensorflow(output_filename=UFF_PATH,
output_nodes=['output'],
quiet=False,
text=False,
graphdef=graph.as_graph_def())
with trt.Builder(TRT_LOGGER) as builder:
with builder.create_network() as network:
uff_parser = trt.UffParser()
uff_parser.register_input('input', INPUT_DIMENSIONS)
uff_parser.register_output('output')
uff_parser.parse(UFF_PATH, network)
output_tensor = network.get_output(0)
print('Output: name {}, shape {}'.format(output_tensor.name, output_tensor.shape))
[Outputs]
sliced tensor shape: (1, 2, 1)
sliced numpy shape: (1, 2, 1)
Output: name output, shape (0)
[TensorRT] ERROR: output: slice is out of input range