sasha's picture
sasha HF Staff
Update failed_run.py
4678ae1 verified
raw
history blame
1.8 kB
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)