in benchmarking/utils/utilities.py [0:0]
def getBenchmarks(json_input, framework=None):
if os.path.isfile(json_input):
with open(json_input, "r") as f:
content = json.load(f)
elif check_is_json(json_input):
content = json.loads(json_input)
else:
raise Exception(f"specified benchmark file doesn't exist: {json_input}")
benchmarks = []
if "benchmarks" in content:
path = os.path.abspath(os.path.dirname(json_input))
for benchmark_file in content["benchmarks"]:
filename = os.path.join(path, benchmark_file)
assert os.path.isfile(filename), "Benchmark {} doesn't exist".format(
filename
)
with open(filename, "r") as f:
cnt = json.load(f)
if framework and "model" in cnt and "framework" not in cnt["model"]:
# do not override the framework specified in the json
cnt["model"]["framework"] = framework
benchmarks.append({"filename": filename, "content": cnt})
else:
if framework and "model" in content:
content["model"]["framework"] = framework
benchmarks.append({"filename": json_input, "content": content})
return benchmarks