語(yǔ)音合成學(xué)習(xí)(三)學(xué)習(xí)筆記

語(yǔ)音合成學(xué)習(xí)(三)學(xué)習(xí)筆記


Gradio--搭建可視化演示環(huán)境

一柬讨、介紹

簡(jiǎn)介

Gradio定位是快速構(gòu)建一個(gè)針對(duì)人工智能的python的webApp庫(kù)削葱,在Hugging Face等提供各種模型推理展示的平臺(tái)廣告使用,阿里的魔塔展示也是基于此开财。

大家思考下眶拉,Gradio作為一款python庫(kù),底層邏輯是什么鸯旁?

  • 結(jié)果:Gradio展示的還是web元素
  • 過(guò)程:所以Gradio是即懂python又懂web開(kāi)發(fā)(css/js/html)的開(kāi)發(fā)者,通過(guò)python對(duì)這些web技術(shù)做了封裝
  • pipline:python語(yǔ)言--> css/js/html

Gradio是MIT的開(kāi)源項(xiàng)目量蕊。

使用gradio铺罢,只需在原有的代碼中增加幾行,就能自動(dòng)化生成交互式web頁(yè)面残炮,并支持多種輸入輸出格式韭赘,比如圖像分類(lèi)中的圖>>標(biāo)簽,超分辨率中的圖>>圖等势就。

同時(shí)還支持生成能外部網(wǎng)絡(luò)訪問(wèn)的鏈接泉瞻,能夠迅速讓你的朋友,同事體驗(yàn)?zāi)愕乃惴ā?/p>

總結(jié)起來(lái)蛋勺,它的優(yōu)勢(shì)有:

  • 自動(dòng)生成頁(yè)面且可交互
  • 改動(dòng)幾行代碼就能完成
  • 支持自定義多種輸入輸出
  • 支持生成可外部訪問(wèn)的鏈接進(jìn)行分享

目前已經(jīng)有很多優(yōu)秀的開(kāi)源項(xiàng)目使用Gradio做demo頁(yè)面瓦灶。那么該怎么使用Gradio,讓我們一起來(lái)玩玩~

Get start

0.安裝Gradio

pip install gradio 或
為了更快安裝抱完,可以使用清華鏡像源贼陶。
pip install gradio  -i https://pypi.tuna.tsinghua.edu.cn/simple

1.寫(xiě)個(gè)簡(jiǎn)單的例子

# app.py
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="text", outputs="text")

demo.launch(server_name="0.0.0.0")

# 啟動(dòng)
# python web.py
# Running on local URL:  http://0.0.0.0:7860
# To create a public link, set `share=True` in `launch()`
image.png

上面的代碼就是簡(jiǎn)單一個(gè)webApp,功能是輸入一個(gè)文本巧娱,輸出一個(gè)文本碉怔。代碼中關(guān)鍵點(diǎn):

  • 導(dǎo)入包 import gradio as gr
  • gr.Interface 構(gòu)建一個(gè)app, 確定輸入inputs和輸出outputs的類(lèi)型禁添,已經(jīng)處理輸入inputs的函數(shù)(這個(gè)函數(shù)返回一個(gè)outputs的類(lèi)型)
  • 提供一個(gè)app的功能模塊函數(shù)
  • launch 啟動(dòng)一個(gè)web容器撮胧,對(duì)外提供服務(wù)

梳理下web渲染流程

  • 根據(jù)輸入輸出類(lèi)型(如text)封裝html組件(with css樣式,布局等)
  • 點(diǎn)擊submit:通過(guò)js獲取輸入的值傳遞(ajax)給后臺(tái)處理函數(shù)(greet)老翘,通過(guò)js回調(diào)函數(shù)接收函數(shù)的返回值芹啥,然后通過(guò)js賦值給html元素

上面只是介紹了Gradio的簡(jiǎn)單的使用,Gradio提供了豐富的html組件铺峭,如文本框墓怀,圖像,視頻卫键,下拉框傀履,單選框等等。

核心參數(shù)

gradio的核心是它的gr.Interface函數(shù)莉炉,用來(lái)構(gòu)建可視化界面钓账。inputs和outputs都是可以多個(gè)碴犬,Gradio根據(jù)類(lèi)型展示相應(yīng)的組件

  • fn:放你用來(lái)處理的函數(shù)
  • inputs:寫(xiě)你的輸入類(lèi)型,這里輸入的是圖像梆暮,所以是"image"
  • outputs:寫(xiě)你的輸出類(lèi)型服协,這里輸出的是圖像,所以是"image"

最后我們用interface.lauch()把頁(yè)面一發(fā)布啦粹,一個(gè)本地靜態(tài)交互頁(yè)面就完成了蚯涮!另外,可以通過(guò).launch(share=True)來(lái)分享功能卖陵,這個(gè)功能可以生成一個(gè)域名,可以在外部直接訪問(wèn)张峰。

interface.launch(inbrowser=True, inline=False, validate=False, share=True)

inbrowser - 模型是否應(yīng)在新的瀏覽器窗口中啟動(dòng)泪蔫。

inline - 模型是否應(yīng)該嵌入在交互式python環(huán)境中(如jupyter notebooks或colab notebooks)。

validate - gradio是否應(yīng)該在啟動(dòng)之前嘗試驗(yàn)證接口模型兼容性喘批。

share - 是否應(yīng)創(chuàng)建共享模型的公共鏈接撩荣。

2. 本人模擬了一個(gè)輸入文本轉(zhuǎn)換語(yǔ)音的例子

輸入文本輸出了指定的使用訓(xùn)練好的模型


image.png

gradio依賴包的版本

踩坑記錄

安裝的gradio 是3.0版本  當(dāng)前環(huán)境 tensorflow  1.9.0 ,執(zhí)行時(shí)候報(bào)錯(cuò) 
image.png

原來(lái)是相互依賴饶深,需要升級(jí)numpy的版本(當(dāng)前訓(xùn)練模型合成語(yǔ)音的項(xiàng)目環(huán)境需要numpy ==1.14.0)餐曹。于是,查一下版本不匹配為了不影響訓(xùn)練合成功能敌厘,進(jìn)行g(shù)radio降級(jí) => 安裝gradio2.0版本台猴,搭建webUI界面顯示了,重新執(zhí)行了文件俱两, 但是出現(xiàn)了語(yǔ)音無(wú)法合成饱狂,排查許久才發(fā)現(xiàn),自動(dòng)把numpy升級(jí)了宪彩。針對(duì)合成和執(zhí)行實(shí)現(xiàn)web不能同時(shí)實(shí)現(xiàn)的問(wèn)題:

<u>最終解決是通過(guò)多個(gè)包和版本一起指定</u>安裝 完美解決 (gradio和numpy 有依賴關(guān)系)

以上主要是對(duì)如何使用gradio的簡(jiǎn)單介紹休讳,也是用的較多的搭建可視化組件。


相關(guān)閱讀

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尿孔,一起剝皮案震驚了整個(gè)濱河市俊柔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌活合,老刑警劉巖雏婶,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異芜辕,居然都是意外死亡尚骄,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)侵续,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)倔丈,“玉大人憨闰,你說(shuō)我怎么就攤上這事⌒栉澹” “怎么了鹉动?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)宏邮。 經(jīng)常有香客問(wèn)我泽示,道長(zhǎng),這世上最難降的妖魔是什么蜜氨? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任械筛,我火速辦了婚禮,結(jié)果婚禮上飒炎,老公的妹妹穿的比我還像新娘埋哟。我一直安慰自己,他們只是感情好郎汪,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布赤赊。 她就那樣靜靜地躺著,像睡著了一般煞赢。 火紅的嫁衣襯著肌膚如雪抛计。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天照筑,我揣著相機(jī)與錄音吹截,去河邊找鬼。 笑死朦肘,一個(gè)胖子當(dāng)著我的面吹牛饭弓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播媒抠,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼弟断,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了趴生?” 一聲冷哼從身側(cè)響起阀趴,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苍匆,沒(méi)想到半個(gè)月后刘急,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浸踩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年叔汁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡据块,死狀恐怖码邻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情另假,我是刑警寧澤像屋,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站边篮,受9級(jí)特大地震影響己莺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戈轿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一凌受、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧思杯,春花似錦胁艰、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奈梳。三九已至杈湾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間攘须,已是汗流浹背漆撞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留于宙,地道東北人浮驳。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像捞魁,于是被迫代替她去往敵國(guó)和親至会。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容