深度學習應用開發架構的一種思路

2021-10-04 09:39:49 字數 841 閱讀 9796

深度學習當下依然處在風口,它從一開始解決單一場景中單一問題的演算法,逐步成長為能夠解決複雜問題的效率工具。

隨著深度學習相關的各項技術的發展,對深度學習的要求也越來越具體:一方面是朝著小而快的方向發展,不斷針對特定場景做深度定製優化、精簡模型,將演算法部署到到移動端甚至嵌入式裝置;另一方面是朝著大而全的方向演進,目標是解決一些複雜但是通用的問題,這部分模型大多部署在高效能的伺服器,作為saas服務提供給b端或c端使用者使用。

當我們提到深度學習,第一反應是什麼?絕大多數人的反應是模型。這是因為深度學習應用開發的核心就是將合適的模型用合適的計算資源處理。所以我們從模型開始,分別往下到硬體,往上到業務進行結構劃分。

從模型往下走,是推斷框架,也就是上面說的」合適的計算資源「。這個推斷框架可以是相容各平台的,也可以是針對單一平台深度定製優化的,具體如何選擇要結合場景和業務要求。推斷框架以下,就是硬體層,其他軟體框架一般還會有系統適配層,但是深度學習對系統的依賴會包含在推斷框架中,所以推斷框架以下就只考慮硬體層。

從模型往上走,我們需要乙個問題:我的模型如何被外部呼叫?也就是說需要逐步考慮外界的需求。最簡單的場景,比如我就是要識別鍵盤滑鼠等通用物體,那麼我的應用場景所需要的演算法就是物體識別,而物體識別這個演算法也只需要乙個模型,比如mv2。但是實際應用場景往往包含不止乙個演算法、且乙個演算法可能會需要多個模型的結果。

所以模型上面需要乙個演算法層,用來控制和管理各個可能需要的模型,演算法層網上,是場景邏輯層,用來管理這些演算法。

缺點我們針對深度學習應用開發提出了一種架構思路,可以在複雜場景中提公升開發效率,易於部署且可以靈活定製適配各種需求。

學習知識的一種思路

昨天看到王垠博士的思維導圖,裡面有個很重要的概念就是學習知識分類,然後不斷的細化下去。聽說寫作也是一樣,作家也是先寫好提綱,然後一點點填充內容。看到這個讓我想起了禪與電單車裡作者對科學,對文學的學習方法,其實就是分類,然後再對子節點進行分類。其實大多數人都是在做別人早都研究出來的東西,用生活大 裡的...

CAS SSO對手機應用支援的一種思路

手機和桌面應用訪問cas,我們不能直接使用cas提供的web api。不過cas提供了乙個外掛程式,叫cas restlet integration,該外掛程式提供了cas api的restful介面,這個介面可以被程式級呼叫,這樣就給我們手機應用認證帶來一種思路。首先,手機應用可以程式方式cas認...

一種計算留存的思路

在一些統計系統中,為了觀察使用者的粘度,我們會計算一系列的叫做留存的指標 次日註冊留存 2日註冊留存.n日註冊留存,比如昨天註冊了1000名使用者中,在今天有300名使用者又登入了,那麼對應於昨天的註冊留存就是30 如果再去細究,還可以去計算活躍使用者的留存情況,比如昨天登入的1000名使用者中,在...