|
from datasets import Dataset |
|
|
|
from .dataset import load_or_initialize_leaderboard, save_leaderboard |
|
from .evaluation import evaluate_model |
|
|
|
|
|
def submit_model(model_name, model_file): |
|
""" |
|
モデルの提出を処理する関数。 |
|
1. モデルを評価する。 |
|
2. リーダーボードにデータを追加。 |
|
3. ランクを計算して保存。 |
|
""" |
|
dataset = load_or_initialize_leaderboard() |
|
|
|
|
|
score = evaluate_model(model_file.name) |
|
|
|
|
|
new_entry = {"Model Name": model_name, "Score": score} |
|
dataset = dataset.add_item(new_entry) |
|
|
|
|
|
df = dataset.to_pandas() |
|
df = df.sort_values(by="Score", ascending=False).reset_index(drop=True) |
|
df["Rank"] = range(1, len(df) + 1) |
|
|
|
|
|
updated_dataset = Dataset.from_pandas(df) |
|
save_leaderboard(updated_dataset) |
|
|
|
return df |
|
|