Spaces:
Runtime error
Runtime error
# 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) | |