Spaces:
Runtime error
Runtime error
| import json | |
| import gradio as gr | |
| import os | |
| from PIL import Image | |
| clusters_12 = json.load(open("clusters/id_all_blip_clusters_12.json")) | |
| clusters_24 = json.load(open("clusters/id_all_blip_clusters_24.json")) | |
| clusters_48 = json.load(open("clusters/id_all_blip_clusters_48.json")) | |
| clusters_by_size = { | |
| 12: clusters_12, | |
| 24: clusters_24, | |
| 48: clusters_48, | |
| } | |
| def show_cluster(cl_id, num_clusters): | |
| cl_dct = clusters_by_size[num_clusters][cl_id] | |
| images = [] | |
| for i in range(6): | |
| img_path = "/".join([st.replace("/", "") for st in cl_dct['img_path_list'][i].split("//")][3:]) | |
| images.append((Image.open(os.path.join("identities-images", img_path)), "_".join([img_path.split("/")[0], img_path.split("/")[-1]]))) | |
| return (len(cl_dct['img_path_list']), | |
| dict(cl_dct["labels_gender"]), | |
| dict(cl_dct["labels_model"]), | |
| dict(cl_dct["labels_ethnicity"]), | |
| images) | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Cluster Explorer") | |
| gr.HTML("""<span style="color:red">⚠️ <b>DISCLAIMER: the images displayed by this tool were generated by text-to-image models and may depict offensive stereotypes or contain explicit content.</b></span>""") | |
| with gr.Row(): | |
| num_clusters = gr.Radio([12, 24, 48], label="number of clusters") | |
| cluster_id = gr.Number(precision=0, label="cluster id") | |
| button = gr.Button(value="Go") | |
| with gr.Column(): | |
| a = gr.Text(label="Number of items in cluster") | |
| with gr.Row(): | |
| c = gr.Text(label="Model makeup of cluster") | |
| b = gr.Text(label="Gender label makeup of cluster") | |
| d = gr.Text(label="Ethnicity label makeup of cluster") | |
| gallery = gr.Gallery(label="Most representative images in cluster").style(grid=6) | |
| button.click(fn=show_cluster, inputs=[cluster_id, num_clusters], outputs=[a,b,c,d, gallery]) | |
| # demo = gr.Interface(fn=show_cluster, inputs=[gr.Slider(0, 50), gr.Radio([12, 24, 48])], outputs=["text", "text", "text", "text", gr.Gallery()]) | |
| demo.launch(debug=True) | |