Spaces:
Running
Running
import os, glob | |
import json | |
from datetime import datetime, timezone | |
from dataclasses import dataclass | |
from datasets import load_dataset, Dataset | |
import pandas as pd | |
import gradio as gr | |
from huggingface_hub import HfApi, snapshot_download, ModelInfo, list_models | |
from enum import Enum | |
OWNER = "AIEnergyScore" | |
COMPUTE_SPACE = f"{OWNER}/launch-computation-example" | |
TOKEN = os.environ.get("DEBUG") | |
API = HfApi(token=TOKEN) | |
def add_docker_eval_with_agreement(zip_file, agreement): | |
if not agreement: | |
gr.Warning("You must agree to the terms before submitting your energy score data.") | |
return | |
new_fid_list = zip_file.split("/") | |
new_fid = new_fid_list[-1] | |
if new_fid.endswith('.zip'): | |
API.upload_file( | |
path_or_fileobj=zip_file, | |
repo_id="AIEnergyScore/tested_proprietary_models", | |
path_in_repo='submitted_models/'+new_fid, | |
repo_type="dataset", | |
commit_message="Adding logs via submission Space.", | |
token=TOKEN | |
) | |
gr.Info('Uploaded logs to dataset! We will validate their validity and add them to the next version of the leaderboard.') | |
else: | |
gr.Info('You can only upload .zip files here!') | |
with gr.Blocks() as demo: | |
gr.Markdown("# AI Energy Score | Submission Portal") | |
gr.Markdown("### The goal of the AI Energy Score project is to develop an energy-based rating system for AI model deployment that will guide members of the community in choosing models for different tasks based on energy efficiency.") | |
with gr.Row(): | |
with gr.Column(): | |
with gr.Accordion("Submit log files from a Docker run:", open=False): | |
gr.Markdown("If you've already benchmarked your model using the [Docker file](https://github.com/huggingface/EnergyStarAI/) provided, please upload the **entire run log directory** (in .zip format) below:") | |
agreement_checkbox = gr.Checkbox(label="I agree to the following terms:") | |
agreement_text = gr.Markdown(""" | |
By checking the box below and submitting your energy score data, you confirm and agree to the following: | |
1. **Public Data Sharing**: You consent to the public sharing of the energy performance data derived from your submission. No additional information related to this model including proprietary configurations will be disclosed. | |
2. **Data Integrity**: You validate that the log files submitted are accurate, unaltered, and generated directly from testing your model as per the specified benchmarking procedures. | |
3. **Model Representation**: You verify that the model tested and submitted is representative of the production-level version of the model, including its level of quantization and any other relevant characteristics impacting energy efficiency and performance. | |
""") | |
file_output = gr.File(visible=False) | |
u = gr.UploadButton("Upload a zip file with logs", file_count="single") | |
u.upload(add_docker_eval_with_agreement, [u, agreement_checkbox], file_output) | |
demo.launch() | |