import streamlit as st import pandas as pd def display_csv(file_path, columns_to_display): # Load the CSV file using pandas df = pd.read_csv(file_path) # Select only the specified columns df_selected_columns = df[columns_to_display].sort_values(by=['avg_score'], ascending=False).reset_index(drop=True) # Display the selected columns as a table st.dataframe(df_selected_columns, height=500, width=1000) def main(): # Hardcoded file path file_path = "merged-averaged-model_timings_2.1.0_12.1_NVIDIA_A10G_False.csv" # Columns to display columns_to_display = [ "model_name", "pretrained", "avg_score", "image_time", "text_time", "image_shape", "text_shape", "output shape", "params (M)", "FLOPs (B)" ] # Specify the columns you want to display # Add header and description st.header("CLIP benchmarks - retrieval and inference") st.write("CLIP benchmarks for inference and retrieval performance. Image size, context length and output dimensions are also included. Retrieval performance comes from https://github.com/mlfoundations/open_clip/blob/main/docs/openclip_retrieval_results.csv.Tested with A10G, CUDA 12.1, Torch 2.1.0") # Call the display_csv function with the hardcoded file path and selected columns display_csv(file_path, columns_to_display) # Custom CSS to make the app full screen st.markdown(""" """, unsafe_allow_html=True) if __name__ == "__main__": main()