Gradio中Button用法及事件监听器click方法使用
Gradio中Button用法及事件监听器click方法使用
瞎想乱记
事情是这样的:在面试过程中涉及了Java语言,在我的简历上注明会熟练使用Python。最近有一个小型项目需要用Python实现,并因此该项目被分配给我负责。我接受下来后开始着手解决这个问题。在项目的执行过程中确实遇到了几个障碍,在项目的执行过程中确实遇到了几个障碍。
功能介绍
功能相对简单,就是一个加入一个按钮,并配置该按钮绑定一个事件监听器以执行 click 方法(作为一个从 backend 转向 frontend 的开发人员,请叫我全栈开发人员)。
相关代码
Gradio的基础不再介绍了,不会的可以去先看看基础
按钮的代码如下
import gradio as gr
submit_button = gr.Button('提交')
AI写代码python
运行
以下是对原文的同义改写
image = gr.Image(label="图片", sources=["upload"], type="filepath")
video = gr.Video(label="视频", sources=["upload"], format='mp4')
audio = gr.Audio(label="音频", sources=["upload"])
output_video = gr.Text()
submit_button.click(fun_train_video, inputs=[image, video, audio], outputs=output_video)
AI写代码python
运行
稍作解释:这段代码主要实现了视频训练功能。其中click是一个按钮点击事件监听器,在用户点击“提交”按钮时会触发调用fun_train_video函数的过程。该函数接收三个参数:image、video和audio作为输入,并将它们处理后输出结果为output_video。然而,在实际运行中发现了一个问题:“PyCharm未报错提示,在执行该操作时会引发以下AttributeError: 'tuple'对象没有'_id'属性。”

解决方法
经过一番查找后发现,并未获得满意的结果。眼看项目即将交付时却一直无法解决此问题。想起了一位在读的研究生同学——憨憨(才貌双全),他不仅掌握了一手优质的Python编程技巧,在编写代码方面也颇有心得。于是他主动提出请他帮忙解决这个问题。
submit_button.click(fun_train_video, inputs=[image[0], video, audio], outputs=output_video)
AI写代码python
运行
那也就是在第一个参数后面添加一个编号标识符之类的操作吧?这样Gradio就能够识别组件对应的ID了。听起来挺有意思的嘛!不过其中更深一层的原因还有待进一步了解清楚呢?问题基本上算是解决了。
交差交差!老板:看来你的工作进展顺利啊……你那边的情况是怎样的呢?老板:哦不不不!你说的是不是说项目后续计划中还包括二期和三期的开发工作?
