import gradio as gr import os import glob import torch from molscribe import MolScribe from huggingface_hub import hf_hub_download REPO_ID = "yujieq/MolScribe" FILENAME = "swin_base_char_aux_200k.pth" ckpt_path = hf_hub_download(REPO_ID, FILENAME) device = torch.device('cpu') model = MolScribe(ckpt_path, device) def predict(image): smiles, molblock = model.predict_image(image) return smiles, molblock iface = gr.Interface( predict, inputs=gr.Image(label="Upload molecular image"), outputs=[ gr.Textbox(label="SMILES"), gr.Textbox(label="Molfile"), ], allow_flagging="auto", title="MolScribe", description="Convert a molecular image into SMILES and Molfile. Code: https://github.com/thomas0809/MolScribe", examples=sorted(glob.glob('examples/*.png')), examples_per_page=20, ) iface.launch()