gradio之持续输入,持续输出(流式)

打印 上一主题 下一主题

主题 913|帖子 913|积分 2739

流式输出yield,好比一个输出控件,想要实时显示内容,用return for循环一次就返归去了。而用yield会持续更新往下执行
  1. for i in range(length):
  2.      time.sleep(8)
  3.      yield '总共'+str(length)+'条语料,已运行'+str(i+1)+'条'
复制代码
在Gradio中,某些组件(如音频和图像组件)可以以“streaming”(流式)模式运行。这意味着数据会被连续不断地发送到后端,并且接口函数会被持续不断地重新运行。比方麦克风模式下的 Audio 组件,或网络摄像头模式下的 Image 组件。


  • gr.Audio(source='microphone'),live=True:默认模式,用户录音结束后,数据会自动提交并运行接口函数。也就是说,接口函数是在用户完成录音并制止后才被调用一次。
  • gr.Audio(source='microphone', streaming=True),live=True:录音过程中,数据会被连续发送,接口函数也会在录音过程中不断被调用。这意味着每当有新的音频数据,接口函数就会立即处置惩罚。
流入输如。好比录像输入
  1. import gradio as gr
  2. import numpy as np
  3. def flip(im):
  4.     return np.flipud(im)
  5. demo = gr.Interface(
  6.     flip,
  7.     gr.Image(sources=["webcam"], streaming=True),
  8.     "image",
  9.     live=True
  10. )
  11. demo.launch()
复制代码
这段代码创建了一个接口,将每帧图像(通过gr.Image组件从网络摄像头获取,并启用了streaming=True)传递给 flip 函数进行处置惩罚,然后显示翻转后的图像。live=True表现接口在实时运行

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表