| import os |
| import pandas as pd |
|
|
| root_dir = "./" |
|
|
| model_name_mapping = { |
| "flowmo_lo": "FlowMo Lo", |
| "flowmo_hi": "FlowMo Hi", |
| "gpt4o": "GPT-4o", |
| "janus_pro_1b": "Janus Pro 1B/7B", |
| "llamagen-ds8": "LlamaGen ds8", |
| "llamagen-ds16": "LlamaGen ds16", |
| "llamagen-ds16-t2i": "LlamaGen ds16 T2I", |
| "maskbit_16bit": "MaskBiT 16bit", |
| "maskbit_18bit": "MaskBiT 18bit", |
| "open_magvit2": "OpenMagViT", |
| "titok_b64": "Titok-b64", |
| "titok_bl64": "Titok-bl64", |
| "titok_s128": "Titok-s128", |
| "titok_bl128": "Titok-bl128", |
| "titok_l32": "Titok-l32", |
| "titok_sl256": "Titok-sl256", |
| "var_256": "VAR-256", |
| "var_512": "VAR-512", |
| "SD3.5L": "SD3.5L", |
| "FLUX.1-dev": "FLUX.1-dev", |
| "infinity_d32": "Infinity-d32", |
| "infinity_d64": "Infinity-d64", |
| "chameleon": "Chameleon", |
| "bsqvit": "BSQ-VIT", |
| } |
|
|
| output_order = [ |
| "FlowMo Lo", |
| "FlowMo Hi", |
| "MaskBiT 16bit", |
| "MaskBiT 18bit", |
| "Titok-l32", |
| "Titok-b64", |
| "Titok-s128", |
| "Titok-bl64", |
| "Titok-bl128", |
| "Titok-sl256", |
| "OpenMagViT", |
| "LlamaGen ds8", |
| "BSQ-VIT", |
| "VAR-256", |
| "Janus Pro 1B/7B", |
| "Chameleon", |
| "LlamaGen ds16", |
| "LlamaGen ds16 T2I", |
| "VAR-512", |
| "Infinity-d32", |
| "Infinity-d64", |
| "SD3.5L", |
| "FLUX.1-dev", |
| "GPT-4o", |
| ] |
|
|
| for dataset_name in os.listdir(root_dir): |
| dataset_path = os.path.join(root_dir, dataset_name) |
| if not os.path.isdir(dataset_path): |
| continue |
|
|
| results = {} |
|
|
| for model_dir in os.listdir(dataset_path): |
| model_path = os.path.join(dataset_path, model_dir) |
| result_file = os.path.join(model_path, "result.txt") |
|
|
| if os.path.isfile(result_file): |
| with open(result_file, "r", encoding="utf-8") as f: |
| lines = f.readlines() |
|
|
| if len(lines) >= 2: |
| metrics_line = lines[-2].strip() |
| values_line = lines[-1].strip() |
|
|
| metrics = metrics_line.split() |
| values = values_line.split() |
|
|
| mapped_name = model_name_mapping.get(model_dir, model_dir) |
| results[mapped_name] = values |
|
|
| if results: |
| header = "\t".join(metrics) |
| print(f"{dataset_name}\t{header}") |
| for model_name in output_order: |
| if model_name in results: |
| values = results[model_name] |
| print(f"{model_name}\t" + "\t".join(values)) |
| else: |
| print(f"{model_name}\t" + "no result") |
| print() |
|
|