五月天婷亚洲天久久综合网,婷婷丁香五月激情亚洲综合,久久男人精品女人,麻豆91在线播放

  • <center id="8gusu"></center><rt id="8gusu"></rt>
    <menu id="8gusu"><small id="8gusu"></small></menu>
  • <dd id="8gusu"><s id="8gusu"></s></dd>
    1142 1

    [數(shù)據(jù)挖掘新聞] FastAPI:燒瓶的正確替代品? [推廣有獎(jiǎng)]

    • 0關(guān)注
    • 14粉絲

    svip3

    學(xué)術(shù)權(quán)威

    12%

    (VIP/貴賓)六級(jí)

    77%

    威望
    0 級(jí)
    論壇幣
    26 個(gè)
    通用積分
    57.2238
    學(xué)術(shù)水平
    4 點(diǎn)
    熱心指數(shù)
    4 點(diǎn)
    信用等級(jí)
    4 點(diǎn)
    經(jīng)驗(yàn)
    34180 點(diǎn)
    帖子
    2732
    精華
    0
    在線時(shí)間
    321 小時(shí)
    注冊(cè)時(shí)間
    2020-7-21
    最后登錄
    2024-8-1

    +2 論壇幣
    k人 參與回答

    經(jīng)管之家送您一份

    應(yīng)屆畢業(yè)生專屬福利!

    求職就業(yè)群
    趙安豆老師微信:zhaoandou666

    經(jīng)管之家聯(lián)合CDA

    送您一個(gè)全額獎(jiǎng)學(xué)金名額~ !

    感謝您參與論壇問(wèn)題回答

    經(jīng)管之家送您兩個(gè)論壇幣!

    +2 論壇幣
    FastAPI:燒瓶的正確替代品?
    完成模型構(gòu)建和適當(dāng)?shù)某瑓?shù)調(diào)整后,數(shù)據(jù)科學(xué)項(xiàng)目的下一步是向公眾展示最終結(jié)果。這樣做非常重要,因?yàn)椴⒎敲總(gè)人都對(duì)查看代碼感興趣,并且他們對(duì)最終結(jié)果更感興趣。它還可以幫助數(shù)據(jù)科學(xué)有抱負(fù)的人建立一個(gè)端到端的項(xiàng)目,從而使他們比其他人更具優(yōu)勢(shì),并使他們對(duì)其他技術(shù)有所了解。
    機(jī)器學(xué)習(xí)模型的部署可以采用不同的路線,具體取決于要為其提供模型的平臺(tái)。該網(wǎng)絡(luò)接口是服務(wù)于一個(gè)模型,但不限于最常見(jiàn)的方式Android和iOS應(yīng)用或IOT設(shè)備,如樹(shù)莓派。如果您在詳細(xì)研究這一點(diǎn),那么一個(gè)框架,均居搜索查詢與燒瓶框架這是一個(gè)簡(jiǎn)約的應(yīng)用程序快速設(shè)置Web服務(wù)器,但它有一些問(wèn)題,這是目前解決在最新發(fā)布的框架調(diào)用FastAPI這是獲得了這些天很受歡迎。
    在本文中,我們將通過(guò)示例代碼來(lái)了解FastAPI框架在Flask方面的優(yōu)勢(shì),以便更好地理解事物。在此之前,如果您對(duì)Android應(yīng)用程序部署感興趣,則可以閱讀我的文章“在Android App中部署ML”。
    FastAPI與Flask
    燒瓶
    這是一個(gè)基于Python的框架,可讓您使用較少的代碼連接網(wǎng)站。您可以使用它創(chuàng)建一個(gè)小型網(wǎng)站,因?yàn)樗梢栽诿總(gè)步驟進(jìn)行自定義。作為一個(gè)簡(jiǎn)約的軟件包,只有核心組件與此捆綁在一起,所有其他擴(kuò)展都需要顯式設(shè)置。許多開(kāi)發(fā)人員都使用Flask托管其API。API(應(yīng)用程序接口)是一種允許多個(gè)中介之間進(jìn)行通信的接口,這意味著人們可以使用任何技術(shù)來(lái)訪問(wèn)任何類型的數(shù)據(jù)。例如,您可以使用可以使用Python構(gòu)建的Javascript訪問(wèn)API。flask中的一個(gè)簡(jiǎn)單程序如下所示:
    從flask導(dǎo)入Flask,jsonify
    app = Flask(__ name__)
    @ app.route(“ / <名稱>”,方法= ['GET'])
    def home(名稱):
        返回jsonify({“ message”:f“你好!{name}”})
    如果__name__ ==“ __main__”:
        app.run(debug = True)
    在訪問(wèn)URL localhost / AnyNameHere時(shí),將顯示類似于以下內(nèi)容的JSON結(jié)果:(我使用稱為JSON viewer的chrome擴(kuò)展名。系統(tǒng)可能會(huì)提示您輸入純文本而不是此格式的輸出)
    燒瓶
    燒瓶問(wèn)題
    這種方法的問(wèn)題是沒(méi)有數(shù)據(jù)驗(yàn)證,也就是說(shuō),我們可以傳遞任何類型的數(shù)據(jù),包括字符串,元組,數(shù)字或任何字符。這經(jīng)常會(huì)破壞程序,您可以想象,如果ML模型獲取錯(cuò)誤的數(shù)據(jù)類型,程序?qū)⒈罎。您可以在進(jìn)一步傳遞值之前創(chuàng)建數(shù)據(jù)檢查器,但這會(huì)增加額外的工作。
    Flask中的錯(cuò)誤頁(yè)面是簡(jiǎn)單的HTML頁(yè)面,當(dāng)在其他應(yīng)用程序中調(diào)用API時(shí)會(huì)引發(fā)解碼器錯(cuò)誤。Flask還存在其他一些問(wèn)題,例如緩慢的特性,沒(méi)有異步功能以及對(duì)Web套接字的支持,這些問(wèn)題可以加快處理過(guò)程,最終沒(méi)有自動(dòng)化的文檔生成系統(tǒng)。您需要為API的用法和示例手動(dòng)設(shè)計(jì)用戶界面。所有這些問(wèn)題都在新框架中得到解決。
    FastAPI
    這是一個(gè)現(xiàn)代的框架,可讓您輕松地?zé)o縫構(gòu)建API。它具有將服務(wù)器代碼與業(yè)務(wù)邏輯分開(kāi)的功能,從而提高了代碼的可維護(hù)性。由于名稱本身具有快速性,因此與燒瓶相比要快得多,因?yàn)樗腔贏SGI(異步服務(wù)器網(wǎng)關(guān)接口)而不是WSGI(Web服務(wù)器網(wǎng)關(guān)接口)構(gòu)建的。它具有一個(gè)數(shù)據(jù)驗(yàn)證系統(tǒng),該系統(tǒng)可以在運(yùn)行時(shí)檢測(cè)到任何無(wú)效的數(shù)據(jù)類型,并以JSON格式將錯(cuò)誤輸入的原因返回給用戶,從而使開(kāi)發(fā)人員不必顯式管理此異常。
    它生成的文件,當(dāng)你正在開(kāi)發(fā)這是所有開(kāi)發(fā)商最要求的事情API在旅途中。文檔是其他開(kāi)發(fā)人員在項(xiàng)目上進(jìn)行協(xié)作的一種好方法,因?yàn)樗蛩麄冋故玖丝梢杂帽匾恼f(shuō)明完成的所有事情。它還生成了一個(gè)不錯(cuò)的GUI,可以解決燒瓶中缺少的所有問(wèn)題。
    它完成了OpenAI規(guī)范和Swagger的所有這些工作,以實(shí)現(xiàn)這些規(guī)范。作為開(kāi)發(fā)人員,您只專注于邏輯構(gòu)建部分,其余所有事情都由FastAPI管理。讓我們看看使用現(xiàn)在在FastAPI中實(shí)現(xiàn)的Flask創(chuàng)建的示例:
    進(jìn)口臍帶
    從fastapi導(dǎo)入FastAPI
    應(yīng)用= FastAPI()
    @ app.get(“ /”)
    def home(名稱:str):
        return {“ message”:f“ Hello!{name}”}
    如果__name__ ==“ __main__”:
        uvicorn.run(app,host ='127.0.0.1',port = 8000,debug = True)
    在訪問(wèn)URL localhost /?name = AnyNameHere時(shí),系統(tǒng)將提示您輸出:
    FastAPI
    您可以看到該代碼與flask非常相似,但是在這里我們使用的是uvicorn服務(wù)器,它是ASGI的實(shí)現(xiàn)。另外,這里我們沒(méi)有路由任何端點(diǎn),而是直接使用裝飾器創(chuàng)建端點(diǎn),這更有意義。這里的函數(shù)只是簡(jiǎn)單地將所需的參數(shù)作進(jìn)一步處理,從而消除了調(diào)用請(qǐng)求對(duì)象的需要。
    現(xiàn)在介紹有趣的部分。要訪問(wèn)自動(dòng)生成的文檔,請(qǐng)單擊端點(diǎn)/ docs,然后將為您提供Swagger UI,該界面允許您測(cè)試API端點(diǎn),還可以定義為示例以供用戶測(cè)試端點(diǎn):
    API端點(diǎn)
    FastAPI捆綁了另一個(gè)文檔生成器,即ReDoc,它也生成了列出所有端點(diǎn)的精美文檔。可以通過(guò)點(diǎn)擊端點(diǎn)/ redoc來(lái)訪問(wèn)它:
    ReDoc
    要設(shè)置數(shù)據(jù)驗(yàn)證,我們可以簡(jiǎn)單地創(chuàng)建從Pydantic的基本模型繼承的數(shù)據(jù)類型類。它是一個(gè)使用Python類型注釋提供數(shù)據(jù)驗(yàn)證的庫(kù)。我們可以添加實(shí)體的描述,并提供要在文檔中顯示的自定義示例。
    ML FastAPI示例
    我想分享一個(gè)使用FastAPI部署ML DecisionTree分類器模型的示例。問(wèn)題的陳述是音樂(lè)流派分類器,其中基于音樂(lè)的技術(shù)方面(例如節(jié)奏,價(jià)態(tài)),音樂(lè)是搖滾或嘻哈音樂(lè)。我制作了一個(gè)音樂(lè)課來(lái)驗(yàn)證要傳遞給模型的數(shù)據(jù),如下所示:
    從pydantic導(dǎo)入BaseModel
    音樂(lè)(BaseModel)類:
        聲學(xué):浮動(dòng)
        舞蹈性:浮動(dòng)
        能量:浮動(dòng)
        工具性:浮動(dòng)
        活度:浮動(dòng)
        語(yǔ)言:浮動(dòng)
        速度:浮動(dòng)
        價(jià):浮動(dòng)
    這是生成的API:
    FastApi示例
    如果要查看整個(gè)代碼,請(qǐng)轉(zhuǎn)到此GitHub存儲(chǔ)庫(kù)。
    結(jié)論:選擇哪一個(gè)?
    在所有討論之后,這個(gè)問(wèn)題仍然沒(méi)有答案,誰(shuí)贏了?基于所有因素,我建議在Flask上采用FastAPI。設(shè)置非常容易,將舊的flask項(xiàng)目遷移到其中不會(huì)花費(fèi)很多時(shí)間,異步,Web套接字和自動(dòng)文檔生成功能是最重要的。
    可以選擇flask框架來(lái)設(shè)置整個(gè)Web界面(前端和后端),但涉及ML,而ML的主要目標(biāo)是檢查模型是否在生產(chǎn)環(huán)境中正常工作,因此創(chuàng)建API更為合理因?yàn)槠溆嗟氖虑榭梢杂善渌_(kāi)發(fā)人員團(tuán)隊(duì)管理,并且可以清楚地向他們解釋您開(kāi)發(fā)的程序的用法,所以FastAPI自動(dòng)文檔是一個(gè)很好的解決方案。
    題庫(kù)
    二維碼

    掃碼加我 拉你入群

    請(qǐng)注明:姓名-公司-職位

    以便審核進(jìn)群資格,未注明則拒絕

    關(guān)鍵詞:fasta fast FAS API 替代品

    沙發(fā)
    shuxia 發(fā)表于 2023-1-13 11:32:11 |只看作者 |壇友微信交流群
    厲害了,學(xué)習(xí)了,謝謝啦

    本版微信群
    加好友,備注cda
    拉您進(jìn)交流群

    京ICP備16021002-2號(hào) 京B2-20170662號(hào) 京公網(wǎng)安備 11010802022788號(hào) 論壇法律顧問(wèn):王進(jìn)律師 知識(shí)產(chǎn)權(quán)保護(hù)聲明   免責(zé)及隱私聲明

    GMT+8, 2024-12-23 22:00