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) | |