import gradio as gr from convert import convert DESCRIPTION = """ The steps are the following: - Paste a read-access token from hf.co/settings/tokens. Read access is enough given that we will open a PR against the source repo. - Input a model id from the Hub - Input the filename from the root dir of the repo that you would like to convert, e.g. 'v2-1_768-ema-pruned.ckpt' or 'v1-5-pruned.safetensors' - Chose which Stable Diffusion version, image size, scheduler type the model has and whether you want the "ema", or "non-ema" weights. - Click "Submit" - That's it! You'll get feedback if it works or not, and if it worked, you'll get the URL of the opened PR 🔥 ⚠️ If you encounter weird error messages, please have a look into the Logs and feel free to open a PR to correct the error messages. """ demo = gr.Interface( title="Convert any Stable Diffusion checkpoint to Diffusers and open a PR", description=DESCRIPTION, allow_flagging="never", article="Check out the [Diffusers repo on GitHub](https://github.com/huggingface/diffusers)", inputs=[ gr.Text(max_lines=1, label="your_hf_token"), gr.Text(max_lines=1, label="model_id"), gr.Text(max_lines=1, label="filename"), gr.Radio(label="Model type", choices=["v1", "v2", "ControlNet"]), gr.Radio(label="Sample size (px)", choices=[512, 768]), gr.Radio(label="Scheduler type", choices=["pndm", "heun", "euler", "dpm", "ddim"], value="dpm"), gr.Radio(label="Extract EMA or non-EMA?", choices=["ema", "non-ema"], value="ema"), ], outputs=[gr.Markdown(label="output")], fn=convert, ).queue(max_size=10, concurrency_count=1) demo.launch(show_api=True)