import argparse import os from datasets import load_dataset, Dataset from huggingface_hub import HfApi TOKEN = os.environ.get("DEBUG") api = HfApi(token=TOKEN) parser = argparse.ArgumentParser() parser.add_argument( "--run_dir", default=None, type=str, required=True, help="Path to the run directory.", ) parser.add_argument( "--model_name", default=None, type=str, required=True, help="Model to benchmark.", ) args = parser.parse_args() # Updating request dataset = load_dataset("EnergyStarAI/requests_debug", split="test", token=TOKEN).to_pandas() def upload_results(output_dir): models_ran=[] for f in os.scandir(output_dir): if f.is_dir(): for s in os.scandir(f): if s.is_dir() and s.name not in ['hooks','info','objects','refs','logs']: for m in os.scandir(s): models_ran.append(s.name+'/' + m.name) return models_ran # Set benchmark to failed # TODO: This doesn't have to be try-except, we could actually check if the file is there. try: # Read error message with open(f"{args.run_dir}/error.log", 'r') as file: for f in file.readlines(): if 'Traceback (most recent call last):' in f: error_message = f dataset.loc[dataset["model"].isin([args.model_name]), ['status']] = "FAILED" print("Status set to FAILED") else: dataset.loc[dataset["model"].isin([args.model_name]), ['status']] = "COMPLETED" # Add a new column for the error message if necessary except FileNotFoundError as e: print(f"Could not find {args.run_dir}/error.log") updated_dataset = Dataset.from_pandas(dataset) updated_dataset.push_to_hub("EnergyStarAI/requests_debug", split="test", token=TOKEN)