mediapipe有感

假設(shè)您已經(jīng)使用了mediapipe一段時間肠仪,是否和我的想法一樣著摔。

為什么是mediapipe

1)對ML開發(fā)者來說坊饶,MP(mediapipe)可以大大簡化工程架構(gòu)方面的開發(fā)工作洞渔。
2)對于Google來說,MP可以幫助tensorflow的推廣驾锰,形成矩陣產(chǎn)品。

極致的優(yōu)雅

優(yōu)雅的架構(gòu)理念走越,優(yōu)雅的OOP程序設(shè)計椭豫,優(yōu)化的代碼編寫細(xì)節(jié),能遇到你真棒旨指!

數(shù)據(jù)結(jié)構(gòu)--packet

packet是MP中傳遞數(shù)據(jù)的封裝格式赏酥。MP已有算子中的packet均使用共享指針的方式傳遞內(nèi)存對象。

數(shù)據(jù)結(jié)構(gòu)--stream

stream是算子多線程運行的核心思想淤毛,算子的運行時依靠數(shù)據(jù)驅(qū)動的今缚,當(dāng)算子需要的所有數(shù)據(jù)到齊后算子開始process。stream巧妙的完成了算子的多線程調(diào)度低淡。

數(shù)據(jù)結(jié)構(gòu)--calculator

calculator的存在是為了復(fù)用姓言。當(dāng)積木足夠多時,就可以搭建漂亮的大樓蔗蹋,算子就是積木何荚。如果你想使用一大塊木料直接制作大樓,將其直接作為一大塊積木猪杭,這樣也挺不錯的餐塘,只是缺乏復(fù)用性。
MP的優(yōu)雅很大程度上體現(xiàn)在算子的拆分上皂吮,一個通用的計算就值得封裝成一個算子戒傻。

數(shù)據(jù)結(jié)構(gòu)--graph

graph就是算子拼成的大廈,一個合法的graph不能存在數(shù)據(jù)流轉(zhuǎn)的環(huán)裝結(jié)構(gòu)蜂筹,graph描述的有向圖使用類似json的文本配置需纳,在初始化時就確定了,它是靜態(tài)的艺挪。
有向圖配置的合法性校驗僅在初始化時做一次不翩,后續(xù)可能出現(xiàn)數(shù)據(jù)斷流引發(fā)的卡死問題,這和graph無關(guān)麻裳,每個算子都要保證在任意情況下都要將數(shù)據(jù)傳遞下去口蝠,即便是無意義的數(shù)據(jù),因為數(shù)據(jù)驅(qū)動津坑。
graph可以嵌套使用妙蔗,這一切都是為了復(fù)用。子graph就如同一個大算子疆瑰。

配套設(shè)施

MP提供了一些工具眉反,包括graph可視化工具狞谱,這是一個web應(yīng)用。
并且提供了profile和tracing的工具禁漓。
這些工具都不太好用。也許MP的用戶量足夠大孵睬,才值得擁有完善的工具鏈播歼。

性能

MP是深度基于tensorflow和opencv的,性能一方面取決于算子邏輯掰读,一方面取決于opencv和TF在此平臺上的運行性能秘狞。
MP現(xiàn)有的ML demo如果用于學(xué)習(xí)交流,性能是足夠的蹈集。

跨平臺

MP的代碼組織基于bazel烁试,framework的設(shè)計編寫盡量避免平臺相關(guān)性。
是否跨平臺很大取決于:
1)算子使用到的算方庫是否跨平臺拢肆。
2)目標(biāo)平臺的硬件性能是否足夠减响。

代碼復(fù)用

從架構(gòu)上來說,算子的復(fù)用非常方便郭怪。
算子的編寫應(yīng)該考慮復(fù)用性問題支示,包括跨平臺的復(fù)用性。設(shè)計之初即在注釋中聲明目標(biāo)適配平臺鄙才、輸入輸出颂鸿,以便于復(fù)用。
MP的代碼是bazel組織的攒庵,一般來說很難直接被VS嘴纺、Android studio、Xcode直接使用浓冒≡钥剩可以使用bazel編譯成sdk的方式提供給app開發(fā)者,無法整體聯(lián)編裆蒸。IDE一般來說對cmake兼容性較好熔萧,bazel plugin在IntelliJ上(包括AS)并不易用,bazel plugin被設(shè)計成使用全部使用bazel來編譯工程僚祷,而非bazel佛致、gradle、cmake辙谜、ninja相互配合俺榆,對于Android開發(fā)者來說放棄gradle開發(fā)app是不太現(xiàn)實的。

同類型框架比較

DStream装哆,線性數(shù)據(jù)流轉(zhuǎn)罐脊,待補充定嗓。。

優(yōu)缺點

方便算子開發(fā)萍桌,復(fù)用宵溅。這里包括:
  • 方便的算子單測方案
  • 方便的算子profile
  • 方便的算子性能標(biāo)準(zhǔn)設(shè)定
方便控制算子并行串行運算關(guān)系

通過類似json的文本配置就可以做到,非常優(yōu)雅

深度基于TF

對于希望更換inference庫的ML開發(fā)者來說很不友好上炎,將TF連根拔起至少需要刪除70%的代碼恃逻。

靜態(tài)圖

為什么不是動態(tài)圖呢?有些時候某個算子是否運算是需要根據(jù)實際來數(shù)據(jù)決定的藕施,如果檢測不到人臉就不需要提取人臉關(guān)鍵點和位姿信息寇损,但是對于靜態(tài)圖來說為了滿足數(shù)據(jù)確定,我們必須要傳遞數(shù)據(jù)進入關(guān)鍵點算子和位姿算子裳食,實際上些算子僅做了判斷和跳過矛市。我們希望沒有人臉時就直接返回結(jié)果,這就需要動態(tài)圖诲祸。

對于移動端來說過于笨重

MP framework將近10M浊吏,這還是將TF裁去之后。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烦绳,一起剝皮案震驚了整個濱河市卿捎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌径密,老刑警劉巖午阵,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異享扔,居然都是意外死亡底桂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門惧眠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來籽懦,“玉大人,你說我怎么就攤上這事氛魁∧核常” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵秀存,是天一觀的道長捶码。 經(jīng)常有香客問我,道長或链,這世上最難降的妖魔是什么惫恼? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮澳盐,結(jié)果婚禮上祈纯,老公的妹妹穿的比我還像新娘令宿。我一直安慰自己,他們只是感情好腕窥,可當(dāng)我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布粒没。 她就那樣靜靜地躺著,像睡著了一般簇爆。 火紅的嫁衣襯著肌膚如雪革娄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天冕碟,我揣著相機與錄音,去河邊找鬼匆浙。 笑死安寺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的首尼。 我是一名探鬼主播挑庶,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼软能!你這毒婦竟也來了迎捺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤查排,失蹤者是張志新(化名)和其女友劉穎凳枝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體跋核,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡岖瑰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砂代。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹋订。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡甜刻,死狀恐怖忌堂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情白嘁,我是刑警寧澤捶箱,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布智什,位于F島的核電站,受9級特大地震影響讼呢,放射性物質(zhì)發(fā)生泄漏撩鹿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一悦屏、第九天 我趴在偏房一處隱蔽的房頂上張望节沦。 院中可真熱鬧键思,春花似錦、人聲如沸甫贯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叫搁。三九已至赔桌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渴逻,已是汗流浹背疾党。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惨奕,地道東北人雪位。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像梨撞,于是被迫代替她去往敵國和親雹洗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,554評論 2 349

推薦閱讀更多精彩內(nèi)容