當前位置:首頁 > 物聯(lián)網(wǎng) > 網(wǎng)絡層
[導讀]DeepDetect ,一個專為深度學習的開源API和服務。 DeepDetect的API 簡單直觀、易用、通用和易擴展。

DeepDetect ,一個專為深度學習的開源API和服務。 DeepDetect的API 簡單直觀、易用、通用和易擴展。

在其他貢獻者的幫助下,他集成了 Caffe , XGBoost 和 Tensorflow (很快將完成),并且未對原服務或者API修改。

XGBoost梯度提升法樹是深度模型常用的算法。Tensorflow支持分布式訓練模型和數(shù)據(jù),并且能很好的支持LSTM和RNNs神經(jīng)網(wǎng)絡算法。Caffe擅長處理圖像和文本數(shù)據(jù)。DeepDetect讓你在這些深度學習框架間自由轉(zhuǎn)換。

下面將介紹實現(xiàn)通用深度學習API的主要原則。同時也期待大家貢獻出一些想法和評價來提高DeepDetect。

創(chuàng)業(yè)公司期待構(gòu)建一個可認證的深度學習的SaaS API,可擴展,并能快速市場化、產(chǎn)品化;

企業(yè)期待與已有系統(tǒng)可以無縫銜接,剛開始數(shù)據(jù)流比較慢,后續(xù)模型需要隨著數(shù)據(jù)的增加而進行優(yōu)化。并且對應的技術可以復制到其他項目中或者部門。

符合上述兩個要求的開源項目有搜索引擎 Elasticsearch ,可擴展搜索引擎,清晰的REST風格API和完全JSON化的輸入/輸出數(shù)據(jù)結(jié)構(gòu)。

那深度學習API集成服務該怎樣實現(xiàn)呢?下面給出幾點:

無需重寫:深度學習(機器學習)就像密碼學,只需生成一次。無需重寫對存在多種深度學習庫是非要重要的;

無縫轉(zhuǎn)換:開發(fā)和產(chǎn)品發(fā)布具有相同的環(huán)境會加快測試和發(fā)布周期,避免出現(xiàn)bug;

簡化命令行:簡單、人性化的輸入/輸出格式,比如JSON格式。簡單即是王道;

產(chǎn)品化:專業(yè)的機器學習服務生命周期更期待在數(shù)據(jù)預測,而不是訓練模型。

如果有一種通用機器學習服務能融合以上的點,簡單且強悍的API,它將會同時滿足開發(fā)人員和企業(yè)訴求,并且在開發(fā)和產(chǎn)品之間無縫切換。它將會采用JSON數(shù)據(jù)格式,用單一框架和API統(tǒng)一其他深度學習和機器學習開發(fā)庫,并隱藏各代碼間的內(nèi)部復雜性。

DeepDetect機器學習API核心部分是資源和數(shù)據(jù)輸入/輸出格式。資源過去是指服務器資源,而不是指機器學習服務。此種設計的原因是GPU和內(nèi)存在POST機器學習服務作業(yè)時是緊缺資源。讓他們看看有哪些核心資源:

服務器信息:通過GET目錄/info獲取服務器信息;

機器學習服務管理:通過PUT(創(chuàng)建一個機器學習服務)、GET(獲得一個機器學習服務狀態(tài))和POST(更新一個機器學習服務)目錄/services進行機器學習服務的管理;

模型訓練:通過POST(創(chuàng)建一個新的訓練作業(yè))、GET(獲取一個訓練作業(yè)的狀態(tài))和DELETE(取消一個訓練作業(yè))目錄/train進行模型訓練;

數(shù)據(jù)預測:通過POST(發(fā)送數(shù)據(jù)到服務)目錄/predict進行數(shù)據(jù)預測。

所以服務包括機器學習服務、模型訓練和數(shù)據(jù)預測,這些服務資源是統(tǒng)計模型上兩種主要操作。在這個階段監(jiān)督學習服務和無監(jiān)督學習服務沒什么區(qū)別。

機器學習的主要參數(shù)是輸入或預處理、統(tǒng)計學習和最終輸出,映入腦海里的是:input,mllib和output三種。mllib指定支持的機器學習庫,input和output不寫自明。下面是一個例子,創(chuàng)建一個圖像分類的服務:

PUT /services/imageserv

{

“description”: “image classification service”,

“mllib”: “caffe”,

“model”: {

“repository”: “/path/to/models/imgnet”,

“templates”: “../templates/caffe/”

},

“parameters”: {

“input”: {

“connector”: “image”

},

“mllib”: {

“nclasses”: 1000,

“template”: “googlenet”

},

“output”: {

}

},

“type”: “supervised”

}

參數(shù)一般包括input,mllib和output,監(jiān)督學習服務和無監(jiān)督學習服務通過調(diào)整輸出connector設置。input connector處理輸入格式,支持CSV、libsvm和text等格式,包括圖像和特征。mllib部件指定的是服務創(chuàng)建、訓練和預測模型的機器學習庫,非常方便的引用各機器學習庫的參數(shù),并且保留了參數(shù)標志。

下面給出一個CSV格式的input connector例子:

“input”: {

“id”: “Id”,

“label”: “Cover”,

“separator”: “,”,

“shuffle”: true,

“test_split”: 0.1

}

下面是一個典型訓練模型的output connector:

“output”: {

“measure”: [

“acc”,

“mcll”,

“f1”

]

}

接下來給出一個復雜點的輸出,Mustache格式的輸出模版(標準化的JSON格式可以轉(zhuǎn)化成任意其他的格式):

{

“network”: {

“http_method”: “POST”,

“url”: “http://localhost:9200/images/img"

},

“template”: “{ {{#body}}{{#predictions}} \”uri\”:\”{{uri}}\”,

\”categories\”: [ {{#classes}} { \”category\”:\”{{cat}}\”,\”score\”:

{{prob}} } {{^last}},{{/last}}{{/classes}} ] {{/predictions}}

{{/body}} }”

}

上述模版可以使監(jiān)督學習分類結(jié)果直接輸入Elasticsearch并生成索引,詳情見http://www.deepdetect.com/tutorials/es-image-classifier 。注意到network對象,其POST到輸出服務器,這個對象也可以用在input connector連接遠程輸入源。

上面的模版是一個典型的DeepDetect服務器監(jiān)督分類JSON輸出:

“body”: {

“predictions”: {

“classes”: [

{

“cat”: “n03868863 oxygen mask”,

“prob”: 0.24278657138347626

},

],

“loss”: 0.0,

“uri”: “http://i.ytimg.com/vi/0vxOhd4qlnA/maxresdefault.jpg”

}

上述的例子在集成到已存項目管道是不需要“膠水”代碼,這很好的滿足了許多企業(yè)的需求。

下面快速瀏覽下mllib組件,包括Caffe和XGBoost:

// Caffe

“mllib”:{

"gpu":true,

"net":{

"batch_size":128

},

"solver: {

"test_interval":1000,

"iterations":16000,

"base_lr":0.01,

"solver_type":"SGD"

}

}

// XGBoost

"mllib": {

"iterations": 100,

"objective": "multi:softprob"

}

對于Caffe的例子,服務器使用了GPU,其他參數(shù)包括solver和learning rate等。對于XGBoost例子,參數(shù)iterations和objective被設置。

接下來重要的部分是數(shù)據(jù)預測,觀察機器學習服務生命周期重要的是基于數(shù)據(jù)進行預測:

curl -X POST 'http://localhost:8080/predict' -d

'{"service":"covert","parameters":{"input":

{"id":"Id",”separator”:","}},"data":["test.csv"]}'

這里mllib部分省略掉了,有時在深度網(wǎng)絡中抽取特征時mllib是有用的。在非監(jiān)督學習中是相似的,輸出是一個張量,而不是一個類或者回歸對象:

"mllib":{"extract_layer":"pool5/7x7_s1"}

最后總結(jié),這歌機器學習API的核心點:

可讀性:所有的數(shù)據(jù)結(jié)構(gòu)是簡單、人性化的;

通用性:監(jiān)督學習服務和無監(jiān)督學習服務的通用API;

REST風格和可編程的API:這個API通過網(wǎng)絡獲取,但保留C++原有標志;

“虛構(gòu)”性;能夠很容易的學習增加的特征和資源,比如,為多個預測實現(xiàn)服務鏈。

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉