Spaces:
Sleeping
Sleeping
File size: 3,594 Bytes
ac117b5 71382c0 fbc2291 0c8af8a ec656e5 0c8af8a ec656e5 0c8af8a fbc2291 62efb75 0c8cec9 19dfa7a 0e5beb4 fda141d 0e5beb4 fda141d 19dfa7a cb75880 62efb75 83811e8 7e647be 19dfa7a 5988df0 ec656e5 fda141d 7e647be fda141d 19dfa7a 62efb75 83811e8 e20eddc 83811e8 7e647be 62efb75 7e647be 83811e8 62efb75 83811e8 19dfa7a fda141d 71382c0 19dfa7a 71382c0 ac117b5 19dfa7a 0c8cec9 ac117b5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
import gradio as gr
import mammal_demo
MAIN_MARKDOWN_TEXT = """
The **[ibm/biomed.omics.bl.sm.ma-ted-458m](https://huggingface.co/models?sort=trending&search=ibm%2Fbiomed.omics.bl)** model family is a biomedical foundation model and its finetuned variants trained on over 2 billion biological samples across multiple modalities, including proteins, small molecules, and single-cell gene data.
Designed for robust performance, it achieves state-of-the-art results over a variety of tasks across the entire drug discovery pipeline and the diverse biomedical domains.
Based on the [**MAMMAL** - **M**olecular **A**ligned **M**ulti-**M**odal **A**rchitecture and **L**anguage](https://arxiv.org/abs/2410.22367v2), a flexible, multi-domain architecture with an adaptable task prompt syntax.
The syntax allows for dynamic combinations of tokens and scalars, enabling classification, regression, and generation tasks either within a single domain or with cross-domain entities.
This page demonstraits a variety of drug discovery and biomedical tasks for the model family. Select the task to access the specific demos.
"""
all_tasks, all_models = mammal_demo.tasks_and_models()
def create_application():
def task_change(value):
visibility = [gr.update(visible=(task == value)) for task in all_tasks.keys()]
choices = [
model_name
for model_name, model in all_models.items()
if value in model.tasks
]
if choices:
active = len(choices)>1
return (
gr.update(choices=choices, value=choices[0], interactive=active, visible=True, label=f"Matching Mammal models ({len(choices)})",),
*visibility,
)
else:
return (gr.update(visible=False, value=None, label="No Matching Mammal models"), *visibility, )
def model_change(value):
return gr.update(
value=f'[<span style="font-size:4em;">🤗</span>to model](https://huggingface.co/{value})',
visible=value is not None,
)
with gr.Blocks(theme="matanninio/IBM_Carbon_Theme") as application:
gr.Markdown(MAIN_MARKDOWN_TEXT, visible=True)
task_dropdown = gr.Dropdown(
choices=["Select task"] + list(all_tasks.keys()),
label="Mammal Task",
)
task_dropdown.interactive = True
with gr.Row():
model_name_dropdown = gr.Dropdown(
choices=[
model_name
for model_name, model in all_models.items()
if task_dropdown.value in model.tasks
],
interactive=True,
label="",
visible=False,
scale=10,
)
goto_card_button = gr.Markdown(
"Link to model card",
visible=False,
)
model_name_dropdown.change(
model_change, inputs=[model_name_dropdown], outputs=[goto_card_button]
)
task_dropdown.change(
task_change,
inputs=[task_dropdown],
outputs=[model_name_dropdown]
+ [
all_tasks[task].demo(model_name_widgit=model_name_dropdown)
for task in all_tasks
],
)
return application
full_demo = None
def main():
global full_demo
full_demo = create_application()
full_demo.launch(show_error=True, share=False)
# full_demo.launch(show_error=True, share=True)
if __name__ == "__main__":
main()
|