from typing import Optional import gradio as gr import quantize from huggingface_hub import HfApi, login def run(model_id: str, model_version: str, additional_args: str, token: Optional[str] = None) -> str: if model_id == "": return "Please enter model_id." login(token=token) api = HfApi(token=token) quantize.quantize(api=api, model_id=model_id, model_version=model_version, additional_args=additional_args) DESCRIPTION = """ Simple utility tool to quantize diffusion models and convert them to CoreML. """ title="Quantize model and convert to CoreML" with gr.Blocks(title=title) as demo: description = gr.Markdown(f"""# {title}""") description = gr.Markdown(DESCRIPTION) with gr.Row() as r: with gr.Column() as c: model_id = gr.Text(max_lines=1, label="ID of output repo") model_version = gr.Text(max_lines=1, label="Version of model to convert", value="stabilityai/sd-turbo") additional_args = gr.Text(max_lines=1, label="Additional Args (optional)") token = gr.Text(max_lines=1, label="Your HuggingFace write token") with gr.Row() as c: clean = gr.ClearButton() submit = gr.Button("Submit", variant="primary") with gr.Column() as d: output = gr.Markdown() submit.click(run, inputs=[model_id, model_version, additional_args, token], outputs=output, concurrency_limit=1) demo.queue(max_size=10).launch(show_api=True)