# Copyright 2021 The HuggingFace Team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import streamlit as st import json import pandas as pd import plotly.express as px import numpy as np with open('carbon-models-2.json', 'r') as fp: carbondict= json.load(fp) models= [k.split('/')[1] for k in carbondict.keys()] carbon = [v[1] for v in carbondict.values()] carbon = [4009.5 if x== '4' else x for x in carbon] tasks = [v[0] for v in carbondict.values()] tasks = ["other" if len(x) < 2 else x for x in tasks] carbon_df = pd.DataFrame( {'name': models, 'task': tasks, 'carbon': carbon }) carbon_df.drop(carbon_df.loc[carbon_df['task']=='other'].index, inplace=True) st.set_page_config( page_title="Comparing the Carbon Footprint of Transformers", page_icon="./hf-earth.png", layout="wide", ) st.title("Hugging Face Carbon Compare Tool") # Get the sidebar details with st.sidebar.expander("Models", expanded=True): st.image('./hf-earth.png') # choose a dataset to analyze model_name = st.selectbox( f"Choose model to explore:", models) fig = px.box(carbon_df, x=carbon_df['task'], y=carbon_df['carbon'], color='task', hover_name=carbon_df['name']) #fig.update_traces(quartilemethod="exclusive") # or "inclusive", or "linear" by default st.plotly_chart(fig, use_container_width=True)