Advertisement

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函数的过程。该函数接收三个参数:imagevideoaudio作为输入,并将它们处理后输出结果为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了。听起来挺有意思的嘛!不过其中更深一层的原因还有待进一步了解清楚呢?问题基本上算是解决了。
交差交差!老板:看来你的工作进展顺利啊……你那边的情况是怎样的呢?老板:哦不不不!你说的是不是说项目后续计划中还包括二期和三期的开发工作?

全部评论 (0)

还没有任何评论哟~