当前位置:   article > 正文

Gradio实时输出的实现_gradio有实时返回控制台数据的功能吗

gradio有实时返回控制台数据的功能吗

在编写gradio的时候希望可以实时输出状态(控制台或者数字)
但是遇到了直接调用函数失效的情况。

经过折腾后,了解了正确构造的方式,现以一个demo来演示

  1. import gradio as gr
  2. from datetime import datetime
  3. # 定义一个函数,返回当前的日期和时间。
  4. def current_time():
  5. def inner():
  6. now = datetime.now()
  7. current_time = now.strftime("%Y-%m-%d %H:%M:%S")
  8. return f"欢迎使用,当前时间是: {current_time}"
  9. return inner
  10. # 使用gr.Blocks创建一个Gradio
  11. with gr.Blocks() as demo:
  12. gr.Markdown("# Gradio实时输出的实现")
  13. out_1 = gr.Textbox(label="实时状态",
  14. value=current_time(),
  15. every=1,
  16. info="当前时间",)
  17. # 启动
  18. demo.launch()

可以看到,需要嵌套一个def来正确调用

这个def的功能是这样的

  1. inner_function = current_time()
  2. inner_function()
  3. #输出:'欢迎使用,当前时间是: 2023-11-06 22:25:26'

也就是经过这样写,传给Value的是一个函数而不是一个结果。

Gradio也就能正常调用了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/575997
推荐阅读
  

闽ICP备14008679号