in cli/endpoints/online/triton/single-model/olive_model_analyzer/Plot_Performance_Results.py [0:0]
def getParameters(fileName):
parameters = {}
with open(fileName) as f:
lines = f.readlines()
numLines = len(lines)
parameterLines = [
"instance_group {",
"dynamic_batching {",
"optimization {",
"parameters {",
]
keys = ["execution_mode", "inter_op_thread_count", "intra_op_thread_count"]
for key in keys:
parameters[key] = "NA"
lineNum = 0
parameters["count"] = "1"
parameters["preferred_batch_size"] = []
parameters["back_end"] = "CUDA"
parameters["precision"] = "FP32"
parameters["graph_level"] = "NA"
while lineNum < numLines - 1:
lineNum = lineNum + 1
line = lines[lineNum].strip()
if line in parameterLines:
if line == "instance_group {":
while line != "}":
lineNum = lineNum + 1
line = lines[lineNum].strip()
if len(line) > 5 and line[0:5] == "count":
parameters["count"] = line.split(" ")[1]
if line == "dynamic_batching {":
while line != "}":
lineNum = lineNum + 1
line = lines[lineNum].strip()
if len(line) > 20 and line[0:20] == "preferred_batch_size":
parameters["preferred_batch_size"].append(line.split(" ")[1])
if line == "optimization {":
while line != "}\n":
lineNum = lineNum + 1
line = lines[lineNum]
if len(line) > 10 and line[0:10] == " name":
parameters["back_end"] = line.strip().split(" ")[1]
parameters["back_end"] = parameters["back_end"].strip('""')
if len(line) > 29 and line[0:29] == ' key: "precision_mode"':
lineNum = lineNum + 1
line = lines[lineNum].strip()
parameters["precision"] = line.split(" ")[1]
parameters["precision"] = parameters["precision"].strip('""')
if len(line) > 8 and line[0:9] == " graph {":
lineNum = lineNum + 1
line = lines[lineNum]
if len(line) > 8 and line[0:9] == " level":
parameters["graph_level"] = line.strip().split(" ")[1]
if line == "parameters {":
while line != "}\n":
lineNum = lineNum + 1
line = lines[lineNum]
if len(line) > 5 and line[0:6] == " key:":
key = line.strip().split(" ")[1]
key = key.strip('""')
if key in keys:
lineNum = lineNum + 1
line = lines[lineNum]
if len(line) > 8 and line[0:9] == " value {":
lineNum = lineNum + 1
line = lines[lineNum]
if len(line) > 16 and line[0:17] == " string_value:":
parameters[key] = line.strip().split(" ")[1]
parameters[key] = parameters[key].strip('""')
return parameters