国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Gradio快速搭建ML/DL Web端服務(wù)

這篇具有很好參考價(jià)值的文章主要介紹了Gradio快速搭建ML/DL Web端服務(wù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Gradio快速搭建ML/DL Web端服務(wù)

前言

當(dāng)我們訓(xùn)練好了某個(gè)模型并且效果還不錯(cuò)時(shí),最先想到的應(yīng)該是部署.部署又可以分為線上Web服務(wù)和邊緣模塊上;為了匯報(bào)的時(shí)候往往還是選擇線上部署,畢竟盒子部署好了還得配置相應(yīng)的硬件輸入也不方便展示.在這個(gè)專欄之前嘗試用fastapi搭建了Web服務(wù),并且將一些算法模型部署到api接口中,但是由于要自己設(shè)計(jì)一些預(yù)處理工作,路由,附加功能以及頁面UI感覺很麻煩.所以今天就介紹一下這個(gè)基于fastapi構(gòu)建的一個(gè)非常方便就可以部署模型且功能強(qiáng)大的Web框架—Gradio

官網(wǎng)的鏈接在這里,大家可以先去了解一下Gradio 雖然目前沒有中文文檔,但是我感覺整個(gè)文檔寫的還是比較好讀懂的,所以一步步模仿文檔操作也不難.

介紹了這么多,下面就開始寫demo.計(jì)劃是這樣的

  1. 擼一個(gè)簡(jiǎn)單的層數(shù)較少的ResNet,在cifar10上訓(xùn)練一下,得到一個(gè)效果好點(diǎn)的模型(這里不用遷移主要是之前為了實(shí)驗(yàn)重參數(shù)化在ResNet結(jié)構(gòu)上效果不好然后自己寫了個(gè)簡(jiǎn)單的順便拿來用了)
  2. 使用Gradio編寫一個(gè)Web服務(wù),其實(shí)只要我們實(shí)現(xiàn)推理的函數(shù)就行,其他的只用實(shí)例化接口,非常快捷.

開始

模型訓(xùn)練

最基本的殘差模塊堆一堆,接個(gè)全連接層分類然后就可以訓(xùn)練了.這里面訓(xùn)練特意嘗試了一下最近幾年提出的Ranger優(yōu)化器代替之前的sgd,adam之類的,效果確實(shí)會(huì)有一定的提升.

來看看官網(wǎng)給出的效果對(duì)比,經(jīng)過我的訓(xùn)練結(jié)果來看也確實(shí)如此.

Gradio快速搭建ML/DL Web端服務(wù)

使用的最簡(jiǎn)單方法只需要把ranger21.py下載下來,然后訓(xùn)練的時(shí)候引用就可以了或者按照官網(wǎng)用pip安裝pip install git+https://github.com/lessw2020/Ranger21.git

只有幾層的模型最終效果也還不錯(cuò)

Gradio快速搭建ML/DL Web端服務(wù)

Gradio快速搭建ML/DL Web端服務(wù)

這樣我們就得到了一個(gè)效果還可以的模型,下一步就使用Gradio部署

部署

從官網(wǎng)的入門教程可以看到,我們需要自己寫推理部分的函數(shù),并且在gr.Interface()中注冊(cè)自己的函數(shù)以及輸入輸出一些附加功能.不得不說這個(gè)框架封裝之后真的非常便于開發(fā),很多功能已經(jīng)實(shí)現(xiàn)了,比如:結(jié)果緩存,模型解釋甚至考慮到訪問量特別大的時(shí)候利用隊(duì)列而不是并行進(jìn)行結(jié)果響應(yīng)等等

先加載模型然后寫推理函數(shù)

if os.path.exists("best.pt"):
    ResNet.load_state_dict(torch.load('best.pt'))
ResNet.eval()
labels=['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']

def classify_image(img):
    img = transforms.ToTensor()(img).unsqueeze(0).cuda()
    with torch.no_grad():
        predict=torch.nn.functional.softmax(ResNet(img)[0],dim=0).cpu()
        confidence={labels[i]:float(predict[i]) for i in range(10)}
    return confidence

然后注冊(cè)到接口實(shí)例化并啟動(dòng)

gr.Interface(
    fn=classify_image,
    inputs=gr.Image(type="pil",shape=(320,320)),
    outputs=gr.Label(num_top_classes=10),
    examples=['./data/airplane.jpeg'],
    interpretation="default",cache_examples=True,title="Shelgi的分類Demo"
).launch(enable_queue=True)

Gradio快速搭建ML/DL Web端服務(wù)

Gradio快速搭建ML/DL Web端服務(wù)

上面的解釋基于默認(rèn)的``SHAP`,也可以設(shè)置自己的解釋函數(shù).再來看看其他的結(jié)果

Gradio快速搭建ML/DL Web端服務(wù)

Gradio快速搭建ML/DL Web端服務(wù)

到這里基本的部署部分就實(shí)現(xiàn)了,但是和以往慣例一樣,還是要帶著看看源碼的.

源碼部分

開頭我說這是基于fastapi封裝的框架,那就來好好看看它的一些實(shí)現(xiàn).最基本的既然是Web框架,那就先看看它的路由部分.

Gradio快速搭建ML/DL Web端服務(wù)

很明顯,就是利用fastapi來搭建路由的.App繼承了FastAPI,實(shí)現(xiàn)了自己的相關(guān)路由(login,config,file等等)

然后在blocks中有更多功能的實(shí)現(xiàn),包括前處理,運(yùn)行注冊(cè)函數(shù)和后處理,這也是調(diào)用預(yù)測(cè)的重要代碼

Gradio快速搭建ML/DL Web端服務(wù)

再來看看基礎(chǔ)設(shè)置,類似于url,端口號(hào)這些都在networking.py中,設(shè)置如下圖

Gradio快速搭建ML/DL Web端服務(wù)

當(dāng)然,我們也可以對(duì)頁面進(jìn)行一些自己的diy設(shè)計(jì)

Gradio快速搭建ML/DL Web端服務(wù)

可以看出來靜態(tài)頁面是從templates文件夾下讀取的,所以我們可以對(duì)頁面進(jìn)行更改.或者我們想要簡(jiǎn)單的添加一些內(nèi)容,可以試試模仿標(biāo)題和描述那樣,調(diào)用Markdown()進(jìn)行添加

Gradio快速搭建ML/DL Web端服務(wù)

Gradio快速搭建ML/DL Web端服務(wù)

當(dāng)然如果想要?jiǎng)?chuàng)造更復(fù)雜的頁面,就需要使用Blocks一點(diǎn)點(diǎn)的組建頁面,更詳細(xì)的內(nèi)容有興趣的可以去官網(wǎng)文檔中好好查看.文章來源地址http://www.zghlxwxcb.cn/news/detail-504827.html

到了這里,關(guān)于Gradio快速搭建ML/DL Web端服務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Gradio入門到進(jìn)階全網(wǎng)最詳細(xì)教程[一]:快速搭建AI算法可視化部署演示(側(cè)重項(xiàng)目搭建和案例分享)

    常用的兩款A(yù)I可視化交互應(yīng)用比較: Gradio Gradio的優(yōu)勢(shì)在于易用性,代碼結(jié)構(gòu)相比Streamlit簡(jiǎn)單,只需簡(jiǎn)單定義輸入和輸出接口即可快速構(gòu)建簡(jiǎn)單的交互頁面,更輕松部署模型。適合場(chǎng)景相對(duì)簡(jiǎn)單,想要快速部署應(yīng)用的開發(fā)者。便于分享:gradio可以在啟動(dòng)應(yīng)用時(shí)設(shè)置share=True參數(shù)

    2023年04月25日
    瀏覽(33)
  • 樹莓派本地快速搭建web服務(wù)器,并發(fā)布公網(wǎng)訪問

    樹莓派本地快速搭建web服務(wù)器,并發(fā)布公網(wǎng)訪問

    隨著科技的發(fā)展,電子工業(yè)也在不斷進(jìn)步,我們身邊的電子設(shè)備也在朝著小型化和多功能化演進(jìn),以往體積龐大的電腦也在逐漸縮小體積。樹莓派作為一臺(tái)功能完備的硬件設(shè)備,其功耗和體積遠(yuǎn)小于傳統(tǒng)的臺(tái)式電腦,并且在大部分功能上并不遜于臺(tái)式機(jī),因此被開發(fā)出多種應(yīng)

    2024年02月15日
    瀏覽(37)
  • 快速搭建一個(gè)go語言web后端服務(wù)腳手架

    快速搭建一個(gè)go語言web后端服務(wù)腳手架 源碼:https://github.com/weloe/go-web-demo web框架使用gin,數(shù)據(jù)操作使用gorm,訪問控制使用casbin 首先添加一下自定義的middleware recover_control.go ,統(tǒng)一處理panic error返回的信息 access_control.go 使用casbin進(jìn)行訪問控制的中間件 reader.go 讀取yaml配置文件

    2023年04月12日
    瀏覽(60)
  • Linux -- Web服務(wù)器 快速搭建靜態(tài)網(wǎng)站,替換默認(rèn)網(wǎng)頁目錄

    Linux -- Web服務(wù)器 快速搭建靜態(tài)網(wǎng)站,替換默認(rèn)網(wǎng)頁目錄

    先簡(jiǎn)單寫個(gè) 頁面? ? ? ? ? 我們給網(wǎng)頁寫了一行內(nèi)容 作為 靜態(tài)網(wǎng)頁的內(nèi)容 ( 當(dāng)然了,寫的相當(dāng)簡(jiǎn)單,您先理解著看) ? ? ? ? 可以看到的是,我們將內(nèi)容 定向到了一個(gè)文件里, ????????這個(gè)文件的路徑 (? /var/www/html? )熟悉不熟悉??? ? ? ? ? === ? ? ? ? ? ?

    2023年04月19日
    瀏覽(31)
  • 無需服務(wù)器內(nèi)網(wǎng)穿透Windows下快速搭建個(gè)人WEB項(xiàng)目

    無需服務(wù)器內(nèi)網(wǎng)穿透Windows下快速搭建個(gè)人WEB項(xiàng)目

    本文主要是windows下內(nèi)網(wǎng)穿透文章,如果有什么需要改進(jìn)的地方還請(qǐng)大佬指出?? ??作者簡(jiǎn)介:大家好,我是青衿?? ??博客首頁:CSDN主頁放風(fēng)講故事 ??每日一句:努力一點(diǎn),優(yōu)秀一點(diǎn) 本次教程中,我們將實(shí)現(xiàn)在windows上搭建一個(gè)web站點(diǎn),并通過cpolar內(nèi)網(wǎng)穿透,將該站點(diǎn)免

    2024年02月20日
    瀏覽(19)
  • 無云服務(wù)器,Linux本地快速搭建web網(wǎng)站,并內(nèi)網(wǎng)穿透發(fā)布上線

    無云服務(wù)器,Linux本地快速搭建web網(wǎng)站,并內(nèi)網(wǎng)穿透發(fā)布上線

    轉(zhuǎn)載自cpolar文章:Linux CentOS本地搭建Web站點(diǎn),并實(shí)現(xiàn)公網(wǎng)訪問 在web項(xiàng)目中,部署的web站點(diǎn)需要被外部訪問,則需要一個(gè)媒介,通過把資源放在這個(gè)媒介中,再通過所暴露的端口指向這個(gè)站點(diǎn),當(dāng)外部訪問這個(gè)媒介所對(duì)應(yīng)的端口時(shí),媒介指向站點(diǎn),完成訪問,像這種類似的媒介,常用的有

    2024年02月02日
    瀏覽(41)
  • Gradio入門到進(jìn)階全網(wǎng)最詳細(xì)教程[二]:快速搭建AI算法可視化部署演示(側(cè)重參數(shù)詳解和案例實(shí)踐)

    相關(guān)文章:Gradio入門到進(jìn)階全網(wǎng)最詳細(xì)教程[一]:快速搭建AI算法可視化部署演示(側(cè)重項(xiàng)目搭建和案例分享) 在教程一中主要側(cè)重講解gradio的基礎(chǔ)模塊搭建以及demo展示,本篇文章則會(huì)側(cè)重實(shí)際任務(wù)的搭建。 保持一貫作風(fēng)簡(jiǎn)單展示一下如何使用 gradio的核心是它的gr.Interface函數(shù),

    2023年04月26日
    瀏覽(38)
  • 無云服務(wù)器,Linux本地快速搭建web網(wǎng)站,并內(nèi)網(wǎng)穿透發(fā)布上線(1)

    無云服務(wù)器,Linux本地快速搭建web網(wǎng)站,并內(nèi)網(wǎng)穿透發(fā)布上線(1)

    轉(zhuǎn)載自cpolar文章:Linux CentOS本地搭建Web站點(diǎn),并實(shí)現(xiàn)公網(wǎng)訪問 在web項(xiàng)目中,部署的web站點(diǎn)需要被外部訪問,則需要一個(gè)媒介,通過把資源放在這個(gè)媒介中,再通過所暴露的端口指向這個(gè)站點(diǎn),當(dāng)外部訪問這個(gè)媒介所對(duì)應(yīng)的端口時(shí),媒介指向站點(diǎn),完成訪問,像這種類似的媒介,常用的有

    2024年02月03日
    瀏覽(29)
  • 事實(shí)勝于雄辯,蘋果MacOs能不能玩兒機(jī)器/深度(ml/dl)學(xué)習(xí)(Python3.10/Tensorflow2)

    坊間有傳MacOs系統(tǒng)不適合機(jī)器(ml)學(xué)習(xí)和深度(dl)學(xué)習(xí),這是板上釘釘?shù)目贪逵∠?,就好像有人說女生不適合編程一樣的離譜?,F(xiàn)而今,無論是Pytorch框架的MPS模式,還是最新的Tensorflow2框架,都已經(jīng)可以在M1/M2芯片的Mac系統(tǒng)中毫無桎梏地使用GPU顯卡設(shè)備,本次我們來分享如何在蘋

    2023年04月11日
    瀏覽(22)
  • Python共享文件 - Python快速搭建HTTP web服務(wù)實(shí)現(xiàn)文件共享并公網(wǎng)遠(yuǎn)程訪問

    Python共享文件 - Python快速搭建HTTP web服務(wù)實(shí)現(xiàn)文件共享并公網(wǎng)遠(yuǎn)程訪問

    轉(zhuǎn)載自內(nèi)網(wǎng)穿透工具的文章:Python一行代碼實(shí)現(xiàn)文件共享【內(nèi)網(wǎng)穿透公網(wǎng)訪問】 數(shù)據(jù)共享作為和連接作為互聯(lián)網(wǎng)的基礎(chǔ)應(yīng)用,不僅在商業(yè)和辦公場(chǎng)景有廣泛的應(yīng)用,對(duì)于個(gè)人用戶也有很強(qiáng)的實(shí)用意義。也正因如此,大量數(shù)據(jù)共享軟件被開發(fā)出來,云存儲(chǔ)的概念也被重復(fù)炒作。

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包