Spaces:
Build error
Build error
import pandas as pd | |
import gradio as gr | |
from datasets import load_dataset | |
#dataset = load_dataset("laion/laion2B-en-joined") too big space evicted | |
#dataset = load_dataset("laion/laion-coco") # try smaller? evicted again. try try again | |
#dataset = load_dataset("laion/laion400m") # smaller still - you can do it! | |
dataset = load_dataset("laion/laion-art", split="train") # 1.2G? parquet | |
#dataset_filtered = dataset.filter(lambda x : x["TEXT"].contains | |
#dataset = dataset.filter(lambda example: example["TEXT"].startswith("Christmas")) | |
#len(sw) | |
#print(sw) | |
#print(dataset.features) | |
#print (type(dataset)) | |
df = pd.DataFrame(dataset) | |
#df = pd.read_csv("images.csv") | |
df = df[["TEXT", "URL"]] | |
#try: | |
# df['URL'] = df['URL'].apply(lambda x: '<a href= "' + str(x) + '" target="_blank"> <img src= "' + str(x) + '"/> </a>') | |
#except: | |
# print("Exception adding URL anchor link template") | |
def display_df(): | |
df_images = df.head(100) | |
return df_images | |
def display_next100(dataframe, end): | |
dataframe = dataframe.sample(frac=1) | |
start = (end or dataframe.index[-1]) + 1 | |
end = start + 99 | |
df_images = df.loc[start:end] | |
return df_images, end | |
with gr.Blocks() as demo: | |
gr.Markdown("<h1><center>🦁Lion Image Search🎨</center></h1>") | |
gr.Markdown("""<div align="center">Art Descriptions from <a href = "https://huggingface.co/datasets/laion/laion2B-en-joined">Laion</a>. <a href="https://playgroundai.com/create">Create Art Here</a>. <a href="https://paperswithcode.com/datasets?q=art&v=lst&o=newest">Papers,Code,Datasets for SOTA in Art</a>""") | |
with gr.Row(): | |
num_end = gr.Number(visible=False) | |
b1 = gr.Button("Images with Descriptions 0-100") | |
b2 = gr.Button("Next 100 Images with Descriptions") | |
with gr.Row(): | |
#out_dataframe = gr.Dataframe(wrap=True, max_rows=100, overflow_row_behaviour= "paginate", datatype = ["markdown", "markdown"], headers=['URL', 'TEXT']) | |
out_dataframe = gr.Dataframe(wrap=True, max_rows=100, overflow_row_behaviour= "paginate", headers=['TEXT','URL']) | |
b1.click(fn=display_df, outputs=out_dataframe) | |
b2.click(fn=display_next100, inputs= [out_dataframe, num_end ], outputs=[out_dataframe, num_end]) | |
demo.launch(debug=True, show_error=True) |