99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手把手教你在機(jī)器學(xué)習(xí)過程設(shè)計(jì)Python接口

如意 ? 來源:Python學(xué)會(huì) ? 作者:Huangwei AI ? 2020-08-20 14:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

為了進(jìn)行機(jī)器學(xué)習(xí)工程,首先要部署一個(gè)模型,在大多數(shù)情況下作為一個(gè)預(yù)測API。為了使此API在生產(chǎn)中工作,必須首先構(gòu)建模型服務(wù)基礎(chǔ)設(shè)施。這包括負(fù)載平衡、擴(kuò)展、監(jiān)視、更新等等。

乍一看,所有這些工作似乎都很熟悉。Web開發(fā)人員和DevOps工程師多年來一直在自動(dòng)化微服務(wù)基礎(chǔ)設(shè)施。當(dāng)然,我們可以重新定位他們的工具?

不幸的是,我們不能。

雖然ML的基礎(chǔ)結(jié)構(gòu)與傳統(tǒng)的DevOps類似,但它與ML的特殊性足以使標(biāo)準(zhǔn)的DevOps工具不那么理想。這就是為什么我們開發(fā)了Cortex——機(jī)器學(xué)習(xí)工程的開源平臺(tái)。

在一個(gè)非常高的層次上,Cortex被設(shè)計(jì)用來簡化在本地或云上部署模型,從而自動(dòng)化所有底層基礎(chǔ)設(shè)施。該平臺(tái)的一個(gè)核心組件是預(yù)測器接口——一個(gè)可編程Python接口,開發(fā)人員可以通過該接口編寫預(yù)測api。

設(shè)計(jì)一個(gè)專門為web請求提供預(yù)測的Python接口是一個(gè)挑戰(zhàn),我們花了幾個(gè)月的時(shí)間(目前仍在改進(jìn))。在這里,我想分享一些我們已經(jīng)開發(fā)的設(shè)計(jì)原則:

1.預(yù)測器只是一個(gè)Python類

Cortex的核心是我們的預(yù)測器,它本質(zhì)上是一個(gè)預(yù)測API,包括所有的請求處理代碼和依賴關(guān)系。預(yù)測器接口為這些預(yù)測api實(shí)施了一些簡單的需求。

因?yàn)镃ortex采用微服務(wù)的方式來進(jìn)行模型服務(wù),預(yù)測器界面嚴(yán)格關(guān)注兩件事:

初始化模型

提供預(yù)測

在這種精神下,Cortex的預(yù)測界面需要兩種功能,即剩余的init__()和predict(),它們或多或少做你所期望的事情:

手把手教你在機(jī)器學(xué)習(xí)過程設(shè)計(jì)Python接口

初始化之后,您可以將一個(gè)預(yù)測器看作一個(gè)Python對象,當(dāng)用戶查詢端點(diǎn)時(shí),將調(diào)用它的單個(gè)predict()函數(shù)。

這種方法的最大好處之一是,對于任何有軟件工程經(jīng)驗(yàn)的人來說,它都是直觀的。不需要接觸數(shù)據(jù)管道或模型訓(xùn)練代碼。模型只是一個(gè)文件,而預(yù)測器只是一個(gè)導(dǎo)入模型并運(yùn)行predict()方法的對象。

然而,除了語法上的吸引力之外,這種方法還提供了一些關(guān)鍵的好處,即它如何補(bǔ)充了皮層更廣泛的方法。

2. 預(yù)測只是一個(gè)HTTP請求

為生產(chǎn)中提供預(yù)測服務(wù)而構(gòu)建接口的復(fù)雜性之一是,輸入幾乎肯定會(huì)與模型的訓(xùn)練數(shù)據(jù)不同,至少在格式上是這樣。

這在兩個(gè)層面上起作用:

POST請求的主體不是一個(gè)NumPy數(shù)組,也不是您的模型用來處理的任何數(shù)據(jù)結(jié)構(gòu)。

機(jī)器學(xué)習(xí)工程就是使用模型來構(gòu)建軟件,這通常意味著使用模型來處理它們沒有受過訓(xùn)練的數(shù)據(jù),例如使用GPT-2來編寫民間音樂。

因此,預(yù)測器接口不能對預(yù)測API的輸入和輸出固執(zhí)己見。預(yù)測只是一個(gè)HTTP請求,開發(fā)人員可以隨意處理它。例如,如果他們想部署一個(gè)多模型端點(diǎn),并基于請求參數(shù)查詢不同的模型,他們可以這樣做:

手把手教你在機(jī)器學(xué)習(xí)過程設(shè)計(jì)Python接口

雖然這個(gè)界面讓開發(fā)者可以自由地使用他們的API做什么,它也提供了一些自然的范圍,使皮質(zhì)在基礎(chǔ)設(shè)施方面更加固執(zhí)己見。

例如,在后臺(tái)Cortex使用FastAPI來設(shè)置請求路由。Cortex在這一層設(shè)置了許多與自動(dòng)排序、監(jiān)控和其他基礎(chǔ)設(shè)施功能相關(guān)的過程,如果開發(fā)人員需要實(shí)現(xiàn)路由,這些功能可能會(huì)變得非常復(fù)雜。

但是,因?yàn)槊總€(gè)API都有一個(gè)predict()方法,所以每個(gè)API都有相同數(shù)量的路由—1。假設(shè)這允許Cortex在基礎(chǔ)設(shè)施層面做更多的事情,而不限制工程師。

3.服務(wù)模型只是一個(gè)微服務(wù)

對于在生產(chǎn)中使用機(jī)器學(xué)習(xí)的人來說,規(guī)模是一個(gè)主要的問題。型號可能會(huì)很大(GPT-2大約是6 GB),計(jì)算成本高,并且可能有很高的延遲。特別是對于實(shí)時(shí)推斷,擴(kuò)大規(guī)模來處理流量是一項(xiàng)挑戰(zhàn)——如果你的預(yù)算有限,情況更是如此。

為了解決這個(gè)問題,Cortex把預(yù)測器當(dāng)作微型服務(wù),可以水平伸縮。更具體地說,當(dāng)開發(fā)人員進(jìn)行Cortex部署時(shí),Cortex將包含API,旋轉(zhuǎn)為推理準(zhǔn)備的集群,并進(jìn)行部署。然后,它將API公開為負(fù)載平衡器背后的web服務(wù),并配置自動(dòng)縮放、更新和監(jiān)視:

手把手教你在機(jī)器學(xué)習(xí)過程設(shè)計(jì)Python接口

預(yù)測器接口是此過程的基礎(chǔ),盡管它“只是”一個(gè)Python接口。

預(yù)測器接口所做的是強(qiáng)制打包代碼,使其成為推理的單個(gè)原子單元。單個(gè)API所需的所有請求處理代碼都包含在一個(gè)預(yù)測器中。這使得大腦皮層能夠很容易地衡量預(yù)測因素。

通過這種方式,工程師不必做任何額外的工作——當(dāng)然,除非他們想做一些調(diào)整——準(zhǔn)備一個(gè)用于生產(chǎn)的API。一個(gè)皮層的部署是默認(rèn)的生產(chǎn)準(zhǔn)備就緒。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1620

    瀏覽量

    64058
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8503

    瀏覽量

    134630
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86762
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    VGLite是NXP提供的輕量級2D圖形API,本文將手把手帶你實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對RT-ThreadNano內(nèi)核與Finsh組件進(jìn)行移植,下篇?jiǎng)t教您改寫SDK中的VGLite代碼以將其適配到RT-T
    的頭像 發(fā)表于 07-17 14:40 ?689次閱讀
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    【精選直播】手把手教你做PC第十二課:WIFI 驅(qū)動(dòng)框架適配

    手把手教你做PC》系列直播課再度開播!《KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)第十二課:WIFI驅(qū)動(dòng)框架適配》將于07月02日19:00開播↑掃碼入群,領(lǐng)課程講義資料包↑深開鴻資深工程師親臨直播間
    的頭像 發(fā)表于 07-01 08:08 ?99次閱讀
    【精選直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第十二課:WIFI 驅(qū)動(dòng)框架適配

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    高并發(fā)網(wǎng)絡(luò)服務(wù)場景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無法滿足需求,導(dǎo)致性能瓶頸、連接超時(shí)甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬級并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?209次閱讀

    正點(diǎn)原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門!

    正點(diǎn)原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門! 一、視頻觀看 正點(diǎn)原子手把手教你學(xué)STM32MP257-第1期:https://www.bilib
    發(fā)表于 05-16 10:42

    請求贈(zèng)閱《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》

    博主好!致敬葉濤 管鍇 張心雨三位AI具身智能-智能體方面的專家、導(dǎo)師! 《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》一不懂編程的多數(shù)大眾也可以開發(fā)Agent,這意義深遠(yuǎn),功德無量
    發(fā)表于 04-10 12:16

    GPU顯卡維修避坑指南:手把手教你識(shí)別行業(yè)套路!

    的今天,高端顯卡維修已成“暴利暗流”。虛高報(bào)價(jià)、偷換配件、技術(shù)陷阱……用戶稍有不慎,輕則損失數(shù)萬,重則設(shè)備報(bào)廢。今天小助手將揭露行業(yè)亂象,手把手教你識(shí)別套路,并推薦
    的頭像 發(fā)表于 04-02 20:31 ?968次閱讀
    GPU顯卡維修避坑指南:<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>識(shí)別行業(yè)套路!

    KiCad直播活動(dòng)(三): Windows上編譯KiCad 手把手教您編譯/構(gòu)建 KiCad 源碼

    及 KiCad 貼紙,趕緊報(bào)名參加吧~ 直播安排 Windows 上編譯 KiCad 時(shí)間:3月27日 19:30 內(nèi)容:手把手幫助您從頭開始學(xué)習(xí)編譯 KiCad 代碼。 后續(xù)精彩內(nèi)容: KiCad 代碼編譯指南 插件
    的頭像 發(fā)表于 03-24 11:14 ?811次閱讀
    KiCad直播活動(dòng)(三):<b class='flag-5'>在</b> Windows上編譯KiCad <b class='flag-5'>手把手</b>教您編譯/構(gòu)建 KiCad 源碼

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過詳細(xì)的工具介紹和實(shí)戰(zhàn)案例,幫助讀者快速掌握
    發(fā)表于 03-18 12:03

    手把手教你做星閃無人機(jī)—KaihongOS星閃無人機(jī)開發(fā)實(shí)戰(zhàn)》系列課程課件匯總

    為助力開發(fā)者迅速掌握『KaihongOS輕量系統(tǒng)開發(fā)技術(shù)』與『星閃無線通信技術(shù)』,實(shí)現(xiàn)快速上手與深度體驗(yàn),“開鴻Developer社區(qū)”攜手“電子發(fā)燒友”再次聯(lián)合推出《手把手教你做星閃無人機(jī)
    發(fā)表于 03-18 10:33

    手把手教你做PC-KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)》課件匯總

    ”攜手“電子發(fā)燒友”聯(lián)合推出了 《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開發(fā)全流程。 此次首發(fā)內(nèi)容是《手把手教你做PC-KaihongOS筆記本電腦開發(fā)
    發(fā)表于 03-18 10:25

    開發(fā)者集結(jié)!《手把手教你做星閃無人機(jī)》第二課開講啦!

    開發(fā)者集結(jié)!《手把手教你做星閃無人機(jī)》第二課開講啦!
    的頭像 發(fā)表于 02-17 19:40 ?372次閱讀
    開發(fā)者集結(jié)!《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機(jī)》第二課開講啦!

    手把手教你做星閃無人機(jī)》即將開播,鎖定15日晚七點(diǎn)!

    ”再次聯(lián)合推出《手把手教你做星閃無人機(jī)—KaihongOS星閃無人機(jī)開發(fā)實(shí)戰(zhàn)》系列課程,該課程與《手把手教你做PC—KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)》同步并行,
    的頭像 發(fā)表于 01-13 19:42 ?523次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機(jī)》即將開播,鎖定15日晚七點(diǎn)!

    手把手教你做PC》課程即將啟動(dòng)!深開鴻引領(lǐng)探索KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)

    ”攜手“電子發(fā)燒友”聯(lián)合推出了《KaihongOS手把手系列直播課程》,該系列課程以實(shí)際產(chǎn)品為案例,詳細(xì)講解每個(gè)產(chǎn)品的開發(fā)全流程。此次首發(fā)內(nèi)容是《手把手教你做PC-
    的頭像 發(fā)表于 01-06 20:46 ?581次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動(dòng)!深開鴻引領(lǐng)探索KaihongOS筆記本電腦開發(fā)實(shí)戰(zhàn)

    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說的是低功耗4G模組Air780E的LuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?634次閱讀
    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定數(shù)據(jù)打包解包

    手把手教你通過宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩?/a>

    手把手教你通過宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩艚K端
    的頭像 發(fā)表于 08-15 13:29 ?1112次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過宏集物聯(lián)網(wǎng)工控屏&amp;網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為TCP協(xié)議并傳輸?shù)接脩? />    </a>
</div>                    </div>
                    <div   id=