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: ' ') 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("

🦁Lion Image Search🎨

") gr.Markdown("""
Art Descriptions from Laion. Create Art Here. Papers,Code,Datasets for SOTA in Art""") 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", datatype = ["string", "markdown"], 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)