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(), api_name="predict")
demo.launch()
如果您使用 `tqdm` 库,您甚至可以通过将默认参数设置为 `gr.Progress(track_tqdm=True)`,自动报告函数中已存在的任何 `tqdm.tqdm` 的进度更新!