My environment is:
GPU:Telsa M40
Tensorflow:1.8
tf object detection version: up-to-data version clone from git(clone at yesterday)
od extractor :“ssd_mobilenet_v1”
input size: 800x800
my config.py is as follows:
import graphsurgeon as gs
import tensorflow as tf
Input = gs.create_node("Input",
op="Placeholder",
dtype=tf.float32,
shape=[1, 3, 800, 800])
PriorBox = gs.create_node("PriorBox",
numLayers=6,
minScale=0.03,
maxScale=0.80,
aspectRatios=[1.0, 2.0, 0.5, 3.0, 0.33],
layerVariances=[0.1,0.1,0.2,0.2],
featureMapShapes=[50, 25, 13, 7, 4, 2])
NMS = gs.create_node("NMS",
scoreThreshold=1e-8,
iouThreshold=0.6,
maxDetectionsPerClass=100,
maxTotalDetections=100,
numClasses=8,
scoreConverter="SIGMOID")
concat_priorbox = gs.create_node("concat_priorbox", dtype=tf.float32, axis=2)
concat_box_loc = gs.create_node("concat_box_loc")
concat_box_conf = gs.create_node("concat_box_conf")
namespace_plugin_map = {
"MultipleGridAnchorGenerator": PriorBox,
"Postprocessor": NMS,
"Preprocessor": Input,
"ToFloat": Input,
"image_tensor": Input,
"MultipleGridAnchorGenerator/Concatenate": concat_priorbox,
"concat": concat_box_loc,
"concat_1": concat_box_conf
}
def preprocess(dynamic_graph):
# Now create a new graph by collapsing namespaces
dynamic_graph.collapse_namespaces(namespace_plugin_map)
# Remove the outputs, so we just have a single output node (NMS).
by the way, what version of tf detection model fit tensorRT 4.0.
thank you a lot.