Hi all,
I am using TensorRT on Windows - version 5.0 GA. I have a tensorflow model which I have exported to an UFF file as shown by the code below. Note that since the python packages UFF and graph_surgeon are not available in the windows distribution, I have used the Linux tarball to get them and install them.
Get current session
tf_session = K.backend.get_session()
# For now assume that the output of the last layer of the model is the output
output_name = model.layers[-1].output.name.split(':')[0]
output_names = [output_name]
# Freeze graph - this is deprecated
graph_def = tf.graph_util.convert_variables_to_constants(tf_session, tf_session.graph_def, output_names)
# Remove training nodes
graph_def = tf.graph_util.remove_training_nodes(graph_def)
# Convert graph into UFF format so that it can be loaded by TensorRT
graph_nodes = [n for n in graph_def.node]
names = [node.name for node in graph_nodes]
uff.from_tensorflow(graphdef=graph_def, text=True, list_nodes=True, output_filename='test1.uff')
In my C++ code, I have the following:
IBuilder* builder = createInferBuilder(gLogger);
INetworkDefinition* network = builder->createNetwork();
IUffParser* parser = nvuffparser::createUffParser();
// Hard coded, but can be easily parameterised
parser->registerInput("conv2d_1_input", DimsCHW(28, 28, 1), UffInputOrder::kNHWC);
parser->registerOutput("dense_2/Softmax");
parser->parse(std::string("test11.uff", *network, nvinfer1::DataType::kFLOAT);
The parse() call above give the error: unsupported number of graph 0 error.
Can someone shed light on what is going on? Could it be because of version mismatch of TensorFlow/TensorRT?
I am using TensorRT 5.0 GA, CUDA v9.0, cuDNN v7, tensorflow 1.2.1 python v3.6
Thanks,
Rajanish