在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

手把手教你在機器學習過程設計Python接口

如意 ? 來源:Python學會 ? 作者:Huangwei AI ? 2020-08-20 14:29 ? 次閱讀

前言

為了進行機器學習工程,首先要部署一個模型,在大多數情況下作為一個預測API。為了使此API在生產中工作,必須首先構建模型服務基礎設施。這包括負載平衡、擴展、監視、更新等等。

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

不幸的是,我們不能。

雖然ML的基礎結構與傳統的DevOps類似,但它與ML的特殊性足以使標準的DevOps工具不那么理想。這就是為什么我們開發了Cortex——機器學習工程的開源平臺。

在一個非常高的層次上,Cortex被設計用來簡化在本地或云上部署模型,從而自動化所有底層基礎設施。該平臺的一個核心組件是預測器接口——一個可編程Python接口,開發人員可以通過該接口編寫預測api。

設計一個專門為web請求提供預測的Python接口是一個挑戰,我們花了幾個月的時間(目前仍在改進)。在這里,我想分享一些我們已經開發的設計原則:

1.預測器只是一個Python類

Cortex的核心是我們的預測器,它本質上是一個預測API,包括所有的請求處理代碼和依賴關系。預測器接口為這些預測api實施了一些簡單的需求。

因為Cortex采用微服務的方式來進行模型服務,預測器界面嚴格關注兩件事:

初始化模型

提供預測

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

手把手教你在機器學習過程設計Python接口

初始化之后,您可以將一個預測器看作一個Python對象,當用戶查詢端點時,將調用它的單個predict()函數。

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

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

2. 預測只是一個HTTP請求

為生產中提供預測服務而構建接口的復雜性之一是,輸入幾乎肯定會與模型的訓練數據不同,至少在格式上是這樣。

這在兩個層面上起作用:

POST請求的主體不是一個NumPy數組,也不是您的模型用來處理的任何數據結構。

機器學習工程就是使用模型來構建軟件,這通常意味著使用模型來處理它們沒有受過訓練的數據,例如使用GPT-2來編寫民間音樂。

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

手把手教你在機器學習過程設計Python接口

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

例如,在后臺Cortex使用FastAPI來設置請求路由。Cortex在這一層設置了許多與自動排序、監控和其他基礎設施功能相關的過程,如果開發人員需要實現路由,這些功能可能會變得非常復雜。

但是,因為每個API都有一個predict()方法,所以每個API都有相同數量的路由—1。假設這允許Cortex在基礎設施層面做更多的事情,而不限制工程師。

3.服務模型只是一個微服務

對于在生產中使用機器學習的人來說,規模是一個主要的問題。型號可能會很大(GPT-2大約是6 GB),計算成本高,并且可能有很高的延遲。特別是對于實時推斷,擴大規模來處理流量是一項挑戰——如果你的預算有限,情況更是如此。

為了解決這個問題,Cortex把預測器當作微型服務,可以水平伸縮。更具體地說,當開發人員進行Cortex部署時,Cortex將包含API,旋轉為推理準備的集群,并進行部署。然后,它將API公開為負載平衡器背后的web服務,并配置自動縮放、更新和監視:

手把手教你在機器學習過程設計Python接口

預測器接口是此過程的基礎,盡管它“只是”一個Python接口。

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

通過這種方式,工程師不必做任何額外的工作——當然,除非他們想做一些調整——準備一個用于生產的API。一個皮層的部署是默認的生產準備就緒。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1507

    瀏覽量

    62219
  • 機器學習
    +關注

    關注

    66

    文章

    8428

    瀏覽量

    132842
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84867
收藏 人收藏

    評論

    相關推薦

    手把手教你做星閃無人機》即將開播,鎖定15日晚七點!

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

    手把手教你做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰

    ”攜手“電子發燒友”聯合推出了《KaihongOS手把手系列直播課程》,該系列課程以實際產品為案例,詳細講解每個產品的開發全流程。此次首發內容是《手把手教你做PC-
    的頭像 發表于 01-06 20:46 ?94次閱讀
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發實戰

    源碼開放 智能監測電源管理教程寶典!

    源碼開放,今天我們學習的是電源管理系統的核心功能模塊,手把手教你如何通過不同的技術手段實現有效的電源管理。
    的頭像 發表于 12-11 09:26 ?304次閱讀
    源碼開放  智能監測電源管理教程寶典!

    Air780E模組LuatOS開發實戰 —— 手把手教你搞定數據打包解包

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

    手把手教你通過宏集物聯網工控屏&amp;網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶

    手把手教你通過宏集物聯網工控屏&網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶終端
    的頭像 發表于 08-15 13:29 ?564次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過宏集物聯網工控屏&amp;網關進行協議轉換,將底層PLC/傳感器的數據轉換為TCP協議并傳輸到用戶

    PythonAI中的應用實例

    Python人工智能(AI)領域的應用極為廣泛且深入,從基礎的數據處理、模型訓練到高級的應用部署,Python都扮演著至關重要的角色。以下將詳細探討Python
    的頭像 發表于 07-19 17:16 ?1241次閱讀

    手把手教你orcad中設置CIS元器件數據庫,提高工作效率

    元器件數據庫,就是實現上述查找元件、放置元件時所需要調用的數據庫。本文將手把手教你如何在orcad中配置CIS元器件數據庫。
    的頭像 發表于 06-15 17:27 ?6451次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>在</b>orcad中設置CIS元器件數據庫,提高工作效率

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實現思路,主要包含以下部分內容:插入排序介紹插入排序算法實現手把手教你排序算法怎么寫在添加新的記錄時,使用順序查找的方式找到其要插入的位置,然后將
    的頭像 發表于 06-04 08:03 ?739次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么寫

    Efinity軟件安裝教程與Efinity入門使用教程 大牛手把手教程

    1.軟件安裝教程 step1: 安裝Python,注意勾選“Add Python 3.7 to PATH” (2022版本及以后直接跳過該步驟) 注意:從2021.1就不需要單獨安裝python
    的頭像 發表于 05-20 17:10 ?3209次閱讀
    Efinity軟件安裝教程與Efinity入門使用教程 大牛<b class='flag-5'>手把手</b>教程

    手把手帶你移植HAL庫函數

    開發者更高效地進行嵌入式開發。手把手帶你移植HAL庫函數HAL庫提供了一套抽象接口,使開發者無需直接操作底層硬件寄存器,就能實現對硬件的控制。這種抽象使得代碼能夠更
    的頭像 發表于 05-18 08:04 ?2033次閱讀
    <b class='flag-5'>手把手</b>帶你移植HAL庫函數

    手把手教你PCB上怎么畫GND?

    模擬電路的考核核心指標就是信號的精度。失去精度,模擬電路也就失去了原本的功能意義。交流電源的地線CGND由于是正弦波,是周期性的上下波動變化,它的電壓也是上下波動,不是像直流地線GND一樣始終維持一個0V上不變。
    發表于 03-27 10:56 ?1394次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>PCB上怎么畫GND?

    無刷電機無感FOC控制培訓系列課程

    | 本工作室推出電機控制無感foc電機控制系列培訓課程本課程主要讓想進階的算法工程師,和剛參加工作的工程師或者在校學生能夠進一步提高自己的技能,1.從企業用人角度手把手教你做電機控制,提高你的個人
    發表于 03-10 13:52

    【先楫HPM5361EVK開發板試用體驗】(原創)6.手把手實戰紅外線傳感器源代碼

    楫HPM5361EVK開發板試用體驗】(原創)5.手把手實戰AI機械臂 我本論壇內的試讀經驗 : 《電子工程師必備——九大系統電路識圖寶典》+附錄2化整為零和集零為整電路分析方法 《運算放大器參數
    發表于 02-09 15:08

    【先楫HPM5361EVK開發板試用體驗】(原創)5.手把手實戰AI機械臂

    試用體驗】4手把手實戰EXIP在線解密引擎 我本論壇內的試讀經驗 : 《電子工程師必備——九大系統電路識圖寶典》+附錄2化整為零和集零為整電路分析方法 《運算放大器參數解析與LTspice應用仿真
    發表于 02-06 10:28

    【飛騰派4G版免費試用】4.手把手玩轉QT界面設計

    試用】2.手把手實戰編譯Linux內核 【飛騰派4G版免費試用】3.手把手玩轉制作rootfs根文件系統 我本論壇內的試讀經驗 : 《電子工程師必備——九大系統電路識圖寶典》+附錄2化整為零和集零為整
    發表于 01-27 12:49
    主站蜘蛛池模板: 757福利影院合集3000| 国产视频日本| 欧美熟夫| 丁香五月网久久综合| 高清成年美女黄网站色大| 国产理论最新国产精品视频| 国产美女视频黄a视频免费全过程| 狠狠夜夜| 狼狼鲁狼狼色| 视频一区二区在线| 深夜网站免费| 久久9966精品国产免费| 九九热在线视频观看| jinv在线视频| 亚洲免费资源| 中文字幕有码在线视频| 亚洲丁香婷婷| 资源种子在线观看| 亚洲激情视频| 日本免费大黄| 色色色爱| 免费一级欧美片片线观看| 日本高清黄色| 日韩一区二区在线观看| 五月婷婷精品| 日本黄色美女视频| 久精品视频村上里沙| 99啪啪| www我要色综合com| 天天看天天做| 午夜色大片在线观看| 免费黄视频在线观看| 欧美 亚洲 国产 丝袜 在线| japanese69xxx日本| 精品精品国产自在久久高清| 婷婷丁香久久| 三级黄色在线视频| 四虎影像| 国产一级特黄特色aa毛片| 五月婷婷综合网| 欧美黑人性受xxxx喷水|