|
|
@ -122,7 +122,6 @@ def createSSDGraph(modelPath, configPath, outputPath): |
|
|
|
print('Input image size: %dx%d' % (image_width, image_height)) |
|
|
|
print('Input image size: %dx%d' % (image_width, image_height)) |
|
|
|
|
|
|
|
|
|
|
|
# Read the graph. |
|
|
|
# Read the graph. |
|
|
|
_inpNames = ['image_tensor'] |
|
|
|
|
|
|
|
outNames = ['num_detections', 'detection_scores', 'detection_boxes', 'detection_classes'] |
|
|
|
outNames = ['num_detections', 'detection_scores', 'detection_boxes', 'detection_classes'] |
|
|
|
|
|
|
|
|
|
|
|
writeTextGraph(modelPath, outputPath, outNames) |
|
|
|
writeTextGraph(modelPath, outputPath, outNames) |
|
|
@ -247,6 +246,15 @@ def createSSDGraph(modelPath, configPath, outputPath): |
|
|
|
graph_def.node[1].input.append(graph_def.node[0].name) |
|
|
|
graph_def.node[1].input.append(graph_def.node[0].name) |
|
|
|
graph_def.node[1].input.append(weights) |
|
|
|
graph_def.node[1].input.append(weights) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# check and correct the case when preprocessing block is after input |
|
|
|
|
|
|
|
preproc_id = "Preprocessor/" |
|
|
|
|
|
|
|
if graph_def.node[2].name.startswith(preproc_id) and \ |
|
|
|
|
|
|
|
graph_def.node[2].input[0].startswith(preproc_id): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if not any(preproc_id in inp for inp in graph_def.node[3].input): |
|
|
|
|
|
|
|
graph_def.node[3].input.insert(0, graph_def.node[2].name) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Create SSD postprocessing head ############################################### |
|
|
|
# Create SSD postprocessing head ############################################### |
|
|
|
|
|
|
|
|
|
|
|
# Concatenate predictions of classes, predictions of bounding boxes and proposals. |
|
|
|
# Concatenate predictions of classes, predictions of bounding boxes and proposals. |
|
|
|