【gradio】gradio构建webui demo时只支持一个访问?
在使用webui的过程中发现,如果上一个任务处理不完,则会影响其他功能的使用,此时如果使用其他功能,或者有其他人在使用webui时,会出现In queue的提示,则必须得等上一个任务完成之后才能进行下一个任务,GPU的显存利用率非常低,此时我们可以使用queue()方法给webui创建队列。
·
问题描述
在使用webui的过程中发现,如果上一个任务处理不完,则会影响其他功能的使用,此时如果使用其他功能,或者有其他人在使用webui时,会出现In queue的提示,则必须得等上一个任务完成之后才能进行下一个任务,GPU的显存利用率非常低,此时我们可以使用queue()方法给webui创建队列。
def launch():
with gr.Blocks(theme=gr.themes.Soft()) as demo:
# 静态界面
gr.HTML(html_content)
with gr.Row():
with gr.Column():
...
# 界面编写
fn_button.click(handle_upload,
inputs=[video_inputs, language_inputs, switch_inputs],
outputs=[text_outputs, srt_outputs])
# 原有默认限制为1,这里改成10
demo.queue(default_concurrency_limit=10)
demo.launch(server_name=webui_host, server_port=webui_port, share=True)
if __name__ == "__main__":
launch()
参数解析
-
concurrency_count:并发处理请求的工作线程数,默认为1。增加此值将增加请求处理的速率,但也会增加队列的内存使用量。
-
status_update_rate:状态更新的频率,以秒为单位。默认为”auto”,表示队列将在每个作业完成时向所有客户端发送状态估计。
-
default_concurrency_limit:限制并发处理请求的工作线程数,默认为1。调大就能同时处理多个访问了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)