最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于Gradio中Button用法及事件監(jiān)聽器click方法使用

 更新時間:2024年11月11日 09:42:09   作者:有點野的程序猿  
介紹了在Gradio中使用Button組件和事件監(jiān)聽器的click方法,通過一個簡單的示例展示了如何實現(xiàn)點擊按鈕輸出一行文字的功能,在實際項目中遇到了一個錯誤,經(jīng)過排查和請教室友后,發(fā)現(xiàn)問題出在inputs參數(shù)的傳遞上,需要傳入一個包含輸入組件的列表

Gradio中Button用法及事件監(jiān)聽器click方法使用

瞎想亂記

事情是這樣的:入職時面試的是Java,簡歷中寫了會python,剛好最近有個小項目需要用Python實現(xiàn),老板就將這個項目交給了我,我…

項目中還真遇到了好幾個坑,分享一下

功能介紹

功能很簡單,就是一個添加一個按鈕,并給這個按鈕添加一個監(jiān)聽器,實現(xiàn)click方法(我一個后端搞起了前端,以后請叫我全棧)。

相關(guān)代碼

Gradio的基礎(chǔ)不再介紹了,不會的可以去先看看基礎(chǔ)

按鈕的代碼如下:

import gradio as gr
submit_button = gr.Button('提交')

以上是定義了一個名為“提交”的按鈕,我想實現(xiàn)通過點擊此按鈕實現(xiàn)某個方法,輸出一行文字,方法的入?yún)⒂腥齻€參數(shù)

具體代碼如下:

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)

稍微解釋下這行代碼,click是按鈕的監(jiān)聽器,當(dāng)點擊“提交”按鈕后,會運行函數(shù)fun_train_video,這個函數(shù)的入?yún)⒂腥齻€,

分別是:image,video,audio,函數(shù)的輸出是output_video。

這樣的代碼pycharm并沒有報錯,但是在運行時會出下下面的錯誤

“inputs”: [block._id for block in self.inputs],
^^^^^^^^^
AttributeError: ‘tuple’ object has no attribute ‘_id’

解決方法

查了很多資料,包括chatGPT,但是并沒有得到理想的答案,問題遲遲沒有解決,眼看著項目要交付,著急啊,后來想起了我的研究生室友,人稱憨憨,上學(xué)時寫的一手好python,果斷請教,最后得到解決。

其實這個問題的根源是這樣的:在監(jiān)聽器click方法中,inputs參數(shù)需要傳入一個包含輸入組件的列表,但是inputs=[image, video, audio]這種寫法是包含元組的列表,這個元組包含了輸入組件和它的標(biāo)簽,但不是組件本身。

當(dāng)gradio嘗試獲取輸入組件id的時候,會從元組中獲取_id屬性,但是元組中沒有這個屬性,就會拋出異常。

修改代碼如下

submit_button.click(fun_train_video, inputs=[image[0], video, audio], outputs=output_video)

那就是在第一個參數(shù)后邊加一個序號,這樣gradio就可以找到組件的id了,挺神奇的,更深層的邏輯還有待去了解,問題總算解決了。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)圖像的隨機增強變換

    python實現(xiàn)圖像的隨機增強變換

    這篇文章主要為大家介紹了如何利用pythons制作一個小工具工具,可以實現(xiàn)圖像的隨機增強變換,可用于分類訓(xùn)練數(shù)據(jù)的增強,有需要的可以參考下
    2024-11-11
  • 一文教你利用Python租到最合適的房子

    一文教你利用Python租到最合適的房子

    這篇文章主要為大家詳細介紹了如何利用Python語言在爬取到房源數(shù)據(jù)后,挑選出符合自己要求的房子呢?感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法

    pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法

    這篇文章主要介紹了pyqt5+opencv?實現(xiàn)讀取視頻數(shù)據(jù)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • 如何使用Python做個自定義動態(tài)壁紙

    如何使用Python做個自定義動態(tài)壁紙

    這篇文章主要介紹了如何使用Python做個自定義動態(tài)壁紙的相關(guān)資料,需要的朋友可以參考下方法
    2021-08-08
  • Python擴展內(nèi)置類型詳解

    Python擴展內(nèi)置類型詳解

    這篇文章主要為大家詳細介紹了Python擴展內(nèi)置類型的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python中的Logging模塊在項目應(yīng)用小結(jié)

    Python中的Logging模塊在項目應(yīng)用小結(jié)

    Python標(biāo)準(zhǔn)庫中的logging模塊為我們提供了強大而靈活的日志記錄功能,本文將介紹如何使用logging模塊,并探討其在Python開發(fā)中的實際應(yīng)用,感興趣的朋友一起看看吧
    2024-04-04
  • python 求一個列表中所有元素的乘積實例

    python 求一個列表中所有元素的乘積實例

    今天小編就為大家分享一篇python 求一個列表中所有元素的乘積實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python 提取key 為中文的json 串方法

    python 提取key 為中文的json 串方法

    今天小編就為大家分享一篇python 提取key 為中文的json 串方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python可視化神器pyecharts繪制桑基圖

    Python可視化神器pyecharts繪制?;鶊D

    這篇文章主要介紹了Python可視化神器pyecharts繪制?;鶊D,即?;芰糠至鲌D,也叫桑基能量平衡圖,更多相關(guān)介紹具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Python函數(shù)中不定長參數(shù)的寫法

    Python函數(shù)中不定長參數(shù)的寫法

    今天小編就為大家分享一篇關(guān)于Python函數(shù)中不定長參數(shù)的寫法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評論

昌都县| 翁源县| 铁岭县| 蒙阴县| 新竹县| 宜兰县| 措美县| 桓仁| 沛县| 武川县| 山西省| 出国| 乌苏市| 堆龙德庆县| 新泰市| 岳阳县| 营口市| 屯门区| 江川县| 祁阳县| 河东区| 洛南县| 平南县| 辽宁省| 女性| 黄梅县| 敖汉旗| 鄢陵县| 大城县| 富宁县| 雷州市| 泾阳县| 蒙阴县| 五指山市| 朝阳县| 鹤峰县| 黎平县| 扎鲁特旗| 清丰县| 青川县| 平泉县|