Gradio 支持创建自定义进度条的功能,以便您能够自定义和控制向用户显示的进度更新。为了启用此功能,只需在您的方法中添加一个参数,该参数的默认值为 gr.Progress 实例。然后,您可以通过直接调用此实例并传入一个介于 0 和 1 之间的浮点数来更新进度,或者使用 Progress 实例的 tqdm() 方法来跟踪可迭代对象的进度,如下所示。
import gradio as gr
import time
def slowly_reverse(word, progress=gr.Progress()):
progress(0, desc="Starting")
time.sleep(1)
progress(0.05)
new_string = ""
for letter in progress.tqdm(word, desc="Reversing"):
time.sleep(0.25)
new_string = letter + new_string
return new_string
demo = gr.Interface(slowly_reverse, gr.Text(), gr.Text())
demo.launch()
如果你使用tqdm库,你甚至可以通过将默认参数设置为gr.Progress(track_tqdm=True)来自动报告函数中已存在的任何tqdm.tqdm的进度更新!