# 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 carbon_df= pd.read_pickle('./data/carbon_df.pkl') carbon_df.drop(carbon_df.loc[carbon_df['task']==''].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') models=[] # choose a dataset to analyze for m in carbon_df['name'].items(): try: modelname= m[1].split('/')[1] except: modelname = m[1] models.append(modelname) model_name = st.selectbox( f"Choose model to explore:", models) with st.expander("Model Comparison", expanded=False): st.markdown("### Here is how the model " + model_name + " compares to other models:") fig_model = px.bar(carbon_df.sort_values(by=['carbon']), x=models, y='carbon', hover_name= models, color_discrete_map = {model_name : 'red'}) st.plotly_chart(fig_model, use_container_width=True) with st.expander("Task Comparison", expanded=False): 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)