|
import gradio as gr |
|
import numpy as np |
|
|
|
species = np.load("data/species_70b.npy", allow_pickle=True) |
|
clas = np.load("data/class_70b.npy", allow_pickle=True) |
|
order = np.load("data/order_70b.npy", allow_pickle=True) |
|
|
|
|
|
|
|
species_list = list(species[()].keys()) |
|
class_list = list(clas[()].keys()) |
|
order_list = list(order[()].keys()) |
|
|
|
|
|
|
|
def update_fn(val): |
|
if val=="Class": |
|
return gr.Dropdown(label="Name", choices=class_list, interactive=True) |
|
elif val=="Order": |
|
return gr.Dropdown(label="Name", choices=order_list, interactive=True) |
|
elif val=="Family": |
|
return gr.Dropdown(label="Name", choices=family_list, interactive=True) |
|
elif val=="Genus": |
|
return gr.Dropdown(label="Name", choices=genus_list, interactive=True) |
|
elif val=="Species": |
|
return gr.Dropdown(label="Name", choices=species_list, interactive=True) |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown( |
|
""" |
|
# Hierarchical Species Distribution Model! |
|
This model predicts the distribution of species based on geographic, environmental, and natural language features. |
|
""") |
|
with gr.Row(): |
|
inp = gr.Dropdown(label="Taxonomic Hierarchy", choices=["Class", "Order", "Family", "Genus", "Species"]) |
|
out = gr.Dropdown(label="Name", interactive=True) |
|
inp.change(update_fn, inp, out) |
|
|
|
with gr.Row(): |
|
submit_button = gr.Button("Run Model") |
|
|
|
|
|
demo.launch() |