diff --git a/add_results_summary.py b/add_results_summary.py index 3737988..3845ec7 100644 --- a/add_results_summary.py +++ b/add_results_summary.py @@ -795,15 +795,15 @@ def get_table_header(division, category, scenarios_filter): required_scenarios_edge = checker.MODEL_CONFIG[version]["required-scenarios-edge"][mlperf_model] else: required_scenarios_edge = [] - for scenario_tmp in data[model]: - if scenario_tmp not in scenarios_filter: - scenarios_filter.append(scenario_tmp) + for scenario_tmp in data[model]: + if scenario_tmp not in scenarios_filter: + scenarios_filter.append(scenario_tmp) - if division == "closed": - if category == "datacenter": - scenarios_filter = list(set(scenarios_filter) | set(required_scenarios_datacenter)) - else: - scenarios_filter = list(set(scenarios_filter) | set(required_scenarios_edge)) + if division == "closed": + if category == "datacenter": + scenarios_filter = list(set(scenarios_filter) | set(required_scenarios_datacenter)) + else: + scenarios_filter = list(set(scenarios_filter) | set(required_scenarios_edge)) button_links = get_button_links(details, division) html_table = get_table_header(division, category, scenarios_filter) @@ -832,6 +832,10 @@ def get_table_header(division, category, scenarios_filter): required_scenarios_datacenter = checker.MODEL_CONFIG[version]["required-scenarios-datacenter"][mlperf_model] else: required_scenarios_datacenter = [] + if mlperf_model in checker.MODEL_CONFIG[version]["optional-scenarios-datacenter"]: + optional_scenarios_datacenter = checker.MODEL_CONFIG[version]["optional-scenarios-datacenter"][mlperf_model] + else: + optional_scenarios_datacenter = [] if mlperf_model in checker.MODEL_CONFIG[version]["required-scenarios-edge"]: required_scenarios_edge = checker.MODEL_CONFIG[version]["required-scenarios-edge"][mlperf_model] else: @@ -859,24 +863,33 @@ def get_table_header(division, category, scenarios_filter): html_table += f"""{round_dict_values(data[model]["Server"]["Accuracy"])}""" html_table += f"""{data[model]["Server"]["Performance_Units"]} {data[model]["Server"]["Performance_Result"]:.2f}""" else: - if "Server" in required_scenarios_datacenter and division == "closed": #must be open - html_table += scenario_missing_td + if "Server" in scenarios_filter and division == "closed": #must be open + if "Server" in required_scenarios_datacenter or "Server" in optional_scenarios_datacenter: + html_table += scenario_missing_td + else: + html_table += f""" N/A """ if "Interactive" in data[model]: if division == "open": html_table += f"""{round_dict_values(data[model]["Interactive"]["Accuracy"])}""" html_table += f"""{data[model]["Interactive"]["Performance_Units"]} {data[model]["Interactive"]["Performance_Result"]:.2f}""" else: - if "Interactive" in required_scenarios_datacenter and division == "closed": #must be open - html_table += scenario_missing_td + if "Interactive" in scenarios_filter and division == "closed": #must be open + if "Interactive" in required_scenarios_datacenter or "Interactive" in optional_scenarios_datacenter: + html_table += scenario_missing_td + else: + html_table += f""" N/A """ if "Offline" in data[model]: if division == "open": html_table += f"""{round_dict_values(data[model]["Offline"]["Accuracy"])}""" html_table += f"""{data[model]["Offline"]['Performance_Units']} {data[model]["Offline"]["Performance_Result"]:.2f}""" else: - if "Offline" in required_scenarios_datacenter and division == "closed": #must be open - html_table += scenario_missing_td + if "Offline" in scenarios_filter and division == "closed": #must be open + if "Offline" in required_scenarios_datacenter: + html_table += scenario_missing_td + else: + html_table += f""" N/A """ if "edge" in category: if "SingleStream" in data[model]: @@ -885,8 +898,11 @@ def get_table_header(division, category, scenarios_filter): html_table += f"""{round_dict_values(data[model][scenario]["Accuracy"])}""" html_table += f"""{data[model][scenario]["Performance_Units"]} {data[model][scenario]["Performance_Result"]:.2f}""" else: - if "SingleStream" in required_scenarios_edge and division == "closed": #must be open - html_table += scenario_missing_td + if "SingleStream" in scenarios_filter and division == "closed": #must be open + if "SingleStream" in required_scenarios_datacenter: + html_table += scenario_missing_td + else: + html_table += f""" N/A """ if "MultiStream" in data[model]: scenario = "MultiStream" @@ -894,8 +910,11 @@ def get_table_header(division, category, scenarios_filter): html_table += f"""{round_dict_values(data[model][scenario]["Accuracy"])}""" html_table += f"""{data[model][scenario]["Performance_Units"]} {data[model][scenario]["Performance_Result"]:.2f}""" else: - if "MultiStream" in required_scenarios_edge and division == "closed": #must be open - html_table += scenario_missing_td + if "MultiStream" in scenarios_filter and division == "closed": #must be open + if "MultiStream" in required_scenarios_datacenter: + html_table += scenario_missing_td + else: + html_table += f""" N/A """ #html_table += " " #html_table += " "