CLIP-benchmarks / app.py
Jesse-marqo's picture
Update app.py
ac030d8 verified
raw
history blame
1.6 kB
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("""
<style>
.reportview-container {
width: 100%;
height: 100%;
}
</style>
""", unsafe_allow_html=True)
if __name__ == "__main__":
main()