精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

硬件不給力,如何窮玩深度神經網絡?

開發 開發工具
在這篇文章中,我將嘗試回答一個簡單的問題:什么軟件庫/工具包/框架可以幫助改善我們訓練好的模型的推理時間?

深度學習的力量為其在真實世界的應用創造出了巨大的機會。但深度學習的訓練往往需要巨大的計算能力,有時候我們卻沒法(或沒錢)去使用強大的服務器或 NVIDIA 的 Jetson 那樣的嵌入式加速平臺。假如你需要使用一塊樹莓派開發板為你家的小院子開發一個目標跟蹤器呢?換句話說,如果你需要在沒有加速器的 ARM CPU 上運行一個 CNN,你該怎么做?德國 BuddyGuard GmbH 的機器學習工程師 Dmytro Prylipko 近日在 LinkedIn 上發表了一篇文章,分享了他在弱硬件上運行深度神經網絡的經驗方法。

[[181258]]

機器學習社區已經在加速神經網絡推理上進行了很長一段時間的研究了,也已經出現了大量可能有效的解決方案。在這篇文章中,我將嘗試回答一個簡單的問題:什么軟件庫/工具包/框架可以幫助改善我們訓練好的模型的推理時間?出于文章篇幅的考慮,這篇文章我不會考慮修改網絡架構(盡管這確實是一個好方法,比如 SqeezeNet),而是僅僅探討那些已經可以在 ARM 設備上投入生產并且提供了 C/C++ 接口(因為我們很少在嵌入式設備上使用 Lua 或 Python)的工具包和軟件庫。所以在這里我僅僅實驗了 Caffe、TensorFlow 和 MXNet。

我們可以做什么

要加速你的計算,我們有兩個主要的大方向:1)修改模型;2)加速框架。當然,也可能是將這兩者結合起來(而且確實是不錯的想法)。前一種方法往往需要使用更低的權重精度(也被稱為量化(quantization))和/或權重剪枝(weights pruning)。剪枝背后的思想是深度學習模型中的重要參數化冗余,而低精度方法(為浮點數使用了定點或動態定點表示)則利用了這樣一個事實——即推理過程并不需要高精度:因為運算的線性本質和非線性的動態范圍壓縮(dynamic range compression),量化誤差(quantization errors)往往傾向于亞線性地(sub-linearly)傳播,而不會引起數值不穩定性(Vanhoucke, V., Senior, A., & Mao, M. (2011). Improving the speed of neural networks on CPUs)。此外,我們甚至可以使用低精度乘法來訓練模型。結合 SIMD 指令(比如 SSE3),參數量化可以實現非常有效的計算加速。但是目前我們還很難找到同時使用了這兩者的解決方案。比如 Ristretto 可以執行自動量化,但它卻并沒有利用其來降低計算成本。TensorFlow 也可以執行量化,但其推理時間實際上卻增加了 5 到 20 倍,因為其向圖(graph)中還引入了輔助量化/去量化節點(auxiliary quantize/dequantize nodes)。所以,如果空間上的考慮很重要,那么實際上我們可以將量化僅僅看作是一種壓縮網絡權重的方法。至少對于當前的狀態而言,我們可以這樣考慮。

另一方面,我們也有用于框架的加速執行時間(execution time)的方法,而不會影響到模型參數。這些方法基本上都是試圖優化矩陣之間的乘法(GEMM)的通用計算技巧,并因此會同時影響卷積層(其計算通常是 im2col + GEMM)和全連接層。除此之外是 NNPACK:一個用于深度學習框架的加速包。這個加速包還曾得到過 Yann LeCun 的推薦!就我所知,NNPACK 使用了 FFT 來將時間域中的卷積運算替換成了頻域中的乘法計算。

另一個方法是將網絡定義和權重翻譯成針對目標進行優化過的代碼,而不是將它們運行在同樣一個框架內。這種方法的典型案例是 TensorRT。還有 CaffePresso 可以將 Caffe prototxt 翻譯成針對各種不同后端的更低級的規格。但是,TensorRT 的運行需要 CUDA,而且只能在 NVIDIA GPU 上使用,而 CaffePresso 也需要某種硬件加速器(DSP、FPGA 或 NoC),所以這兩種都不適合用于我的測試硬件——樹莓派。

相關鏈接:

  • Ristretto:http://lepsucd.com/?page_id=621
  • NNPACK:http://github.com/Maratyszcza/NNPACK
  • TensorRT:http://developer.nvidia.com/tensorrt
  • CaffePresso:http://github.com/gplhegde/caffepresso

調測配置

當謹慎地評估現存的解決辦法后,我發現下列方法能夠加速當前流行的可用模型的推理:

  • 如果你的構架使用了 OpenBLAS,你可以嘗試其為深度學習進行過優化的分支:http://github.com/xianyi/OpenBLAS/tree/optimized_for_deeplearning
  • NNPACK 能和其他一些框架(包括 Torch、Caffe 和 MXNet)聯合使用:http://github.com/Maratyszcza/NNPACK
  • 當在樹莓派上使用 TensorFlow 時,你可以使用 NEON 指令集提供一些 optimization flags:http://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile#raspberry-pi

通過這些,我能列出以下調測配置:

  1. 帶有 OpenBLAS 主分支(master branch)的 Caffe 作為后端(caffe-openblas)
  2. 帶有 OpenBLAS 的深度學習優化分支(caffe-openblas-dl)的 Caffe
  3. 使用 OPTFLAGS="-Os" (tf-vanilla) 編譯的 TensorFlow
  4. 使用 OPTFLAGS="-Os -mfpu=neon-vfpv4 -funsafe-math-optimizations -ftree-vectorize" (tf-neon-vfpv4) 編譯的 TensorFlow
  5. 帶有用于線性代數計算的 OpenBLAS (mxnet-openblas) 的 Vanilla MXNet
  6. 帶有 OpenBLAS 的深度學習優化分支 (mxnet-openblas-dl) 的 MXNet

你可能會疑惑:配置中怎么沒有 NNPACK?這確實有點復雜,由 ajtulloch 制作的 Caffe 分支提供了使用 NNPACK 的最直接的方法。然而自從它被集成進去以后,NNPACK API 就已經改變了,并且目前我們不能編譯它)。Caffe2 對 NNPACK 有原生支持,但我不會考慮 Caffe2,因為它處于實驗性階段并且幾乎對 Caffe 進行了重構,相關的文檔也不多。另外一個選項就是使用 Maratyszcza/caffe-nnpack,雖然它比較老舊且沒有什么維護。

另外一個問題就是 NNPACK 自身。它并不提供在 Linux/ARM 上的交叉編譯(cross-compilation)配置,只有在 Android/ARM 上的交叉編譯(cross-compilation)配置。我的實驗性構建在與 MXNet 結合的目標平臺上無法工作。我只能在臺式電腦上運行它,但是我并沒有看到使用 OpenBLAS 會有更優秀的表現。由于我的目標是評估已經可用的解決方法,所以我只能以后再做 NNPACK 的實驗了。

相關鏈接:

  • ajtulloch 制作的 Caffe 分支:http://github.com/ajtulloch/caffe/tree/nnpack-pr
  • NNPACK API 編譯問題:https://github.com/Maratyszcza/NNPACK/issues/1#issuecomment-266416638
  • Maratyszcza/caffe-nnpack:http://github.com/Maratyszcza/caffe-nnpack
  • NNPACK Linux/ARM 問題:https://github.com/Maratyszcza/NNPACK/issues/35

硬件

所有的這些評估都是在四核 1.3 GHz CPU 和 1 GB RAM 的樹莓派 3 上執行。操作系統是 32 位的 Raspbian,所以 CPU 不是 ARMv8 架構,而是 ARMv7 架構。

  1. model name : ARMv7 Processor rev 4 (v7l) 
  2. BogoMIPS : 38.40 
  3. Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
  4. CPU implementer : 0x41 
  5. CPU architecture: 7 
  6. CPU variant : 0x0 
  7. CPU part : 0xd03 
  8. CPU revision : 4 

測試草案

為了評估上述每個配置的性能,我們會使用相同的神經網絡。也就是一個有 3 個卷積層和兩個全連接層且在頂部有 softmax 的微型卷積神經網絡:

  1. conv1: 16@7x7 
  2. relu1pool1: MAX POOL 2x2conv2: 48@6x6 
  3. relu2pool2: MAX POOL 3x3conv3: 96@5x5 
  4. relu3fc1: 128 unitsfc2: 848 units 
  5. softmax  

該卷積神經網絡有 1039744 個參數。雖然非常小,但它足夠處理許多計算機視覺任務。

該網絡使用 Caffe 進行訓練人臉識別任務,并將其轉換為 TensorFlow 和 MXNet 格式從而使用這些框架進行評估。為了評估前向通過時間(forward pass time),從 1 到 256 的批大小都進行了測試,因為批大小對性能有很大的影響。而對于每個批大小,網絡執行了 100 次前向通過,并為每一張圖像計算了平均時間。

評估結果和討論

在下面的表格中,列出了平均前向通過的時間。其中,A 是 caffe-openblas, B 是 caffe-openblas-dl, C 代表 tf-vanilla, D 是 tf-neon-vfpv4, E 是 mxnet-openblas, F 是 mxnet-openblas-dl。

列出了平均前向通過的時間

列出了平均前向通過的時間

在對數尺度(logarithmic scale)尺度上我們來看一下:

對數尺度(logarithmic scale)尺度

這些結果讓我大吃一驚。首先,我沒有預料到在 CPU 上運行 MXNet 有如此差的表現。但這看起來已經是一個眾所周知的問題。此外,因為存儲限制,它無法運行 256 張圖片的 batch。第二個驚奇是優化過的 TensorFlow 竟有如此好的表現。它甚至比 Caffe 的表現還好(在超過 2 的批大小上);光是從原始框架上看是很難預料這個結果的。但小心:不保證你能在任意 ARM 設備上使用這些 flags。

眾所周知,Caffe 的速度非常快。如果你要一張接一張地處理圖片,使用優化過的 OpenBLAS 的 Caffe 將會是你***的選擇。想要有 10ms 的改進,你所要做的就只是簡單的輸入:

  1. cd OpenBLAS 
  2. git checkout optimized_for_deeplearning 

為了將我的小研究轉變成正式的東西,我仍需要做大量的工作:評估更多的模型,集成 NNPACK,以及研究更多的框架與 BLAS 后端的結合。但我希望它能幫助你了解目前***的解決方案的推理速度。

原文:https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak-hardware-dmytro-prylipko

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-12-22 08:47:41

神經網絡AND運算

2018-02-05 08:58:36

Python神經網絡識別圖像

2017-03-22 11:59:40

深度神經網絡

2025-02-25 10:50:11

2016-12-27 14:24:57

課程筆記神經網絡

2020-08-06 10:11:13

神經網絡機器學習算法

2018-07-03 16:10:04

神經網絡生物神經網絡人工神經網絡

2019-07-25 08:20:37

代碼開發神經網絡

2021-03-29 09:02:24

深度學習預測間隔

2017-03-30 17:54:28

深度神經網絡人工智能 DNN

2018-04-08 11:20:43

深度學習

2017-07-07 15:46:38

循環神經網絡視覺注意力模擬

2019-07-20 11:00:00

神經網絡數據圖形

2023-02-28 08:00:00

深度學習神經網絡人工智能

2023-04-19 10:17:35

機器學習深度學習

2017-04-26 08:31:10

神經網絡自然語言PyTorch

2023-05-12 14:58:50

Java神經網絡深度學習

2018-05-28 13:12:49

深度學習Python神經網絡

2020-09-17 12:40:54

神經網絡CNN機器學習

2017-04-25 15:12:45

神經網絡SSD檢測
點贊
收藏

51CTO技術棧公眾號

中文字幕求饶的少妇| 日韩精品久久久免费观看 | 美国一级黄色录像| 99爱在线观看| 国产一区二区三区高清播放| 亚洲视频自拍偷拍| 日韩xxxx视频| 国产sm主人调教女m视频| 国产99久久| 偷拍亚洲欧洲综合| aa成人免费视频| 夫妻性生活毛片| 久久久久伊人| 国产欧美一区二区精品性色 | 久久久久久久久艹| 欧美一区=区三区| 亚洲国产精品成人综合| 91成人性视频| 鲁大师私人影院在线观看| 色呦呦呦在线观看| 国产乱码精品一区二区三区五月婷| 伊人久久男人天堂| 中文字幕在线导航| 成人在线观看免费| 日本不卡一区二区三区| 亚洲偷欧美偷国内偷| 97国产在线播放| 五月婷婷六月丁香综合| 国产视频一区免费看| 亚洲国产小视频| 99精品在线免费视频| 香蕉视频网站在线| 久久精品人人做人人爽电影蜜月| 亚洲毛片在线看| 免费高清在线观看免费| 欧美人体大胆444www| 香蕉亚洲视频| 亚洲欧洲成视频免费观看| 欧在线一二三四区| chinese偷拍一区二区三区| 欧美a一区二区| 中文字幕日韩精品在线观看| 日韩不卡的av| 欧美亚洲系列| 久久在线免费观看| 国产精品一区av| 岛国毛片在线观看| 麻豆精品99| 色拍拍在线精品视频8848| 亚洲精品9999| 99精品视频免费看| 最新国产乱人伦偷精品免费网站| 精品视频在线导航| 午夜免费福利视频在线观看| 色爱综合区网| www.66久久| 国产精品第二页| 人人澡人人澡人人看| 国产精品99久久免费观看| 调教+趴+乳夹+国产+精品| 欧美在线激情| 丰满人妻中伦妇伦精品app| 亚洲精品无码专区| 国产欧美精品| 色偷偷88888欧美精品久久久| 午夜激情影院在线观看| www555久久| 久久精品一区二区三区av| 国产精品爽爽爽| 久久婷婷国产麻豆91| 免费视频亚洲| 日韩欧美一二区| 黄色片视频在线免费观看| 快射av在线播放一区| hitomi一区二区三区精品| 国产精品美女久久| 国产又大又黑又粗免费视频| 精品国精品国产自在久国产应用| 精品噜噜噜噜久久久久久久久试看| 国产女大学生av| av在线免费网址| 久久日韩粉嫩一区二区三区| 98国产高清一区| 波多野结衣av无码| 最新日韩av| 欧美不卡视频一区发布| 国产又粗又猛又爽视频| 操欧美女人视频| 欧美日韩成人一区二区| 日本免费黄视频| 免费看电影在线| 中文字幕免费不卡在线| 久久亚洲国产精品日日av夜夜| 国产男男gay体育生网站| 日韩高清电影一区| 午夜免费日韩视频| 青娱乐免费在线视频| 久久香蕉国产| 在线观看成人黄色| 久久久视频6r| 任你躁在线精品免费| 精品国产污污免费网站入口| 亚洲免费黄色网| julia一区二区三区中文字幕| 午夜影院在线观看欧美| 免费网站永久免费观看| 久草中文在线| 国产精品初高中害羞小美女文| 欧美性bbwbbwbbwhd| 人妻精品一区一区三区蜜桃91| 国产剧情av麻豆香蕉精品| 国产精品女主播视频| 免费黄色片视频| 一级成人国产| 77777少妇光屁股久久一区| 精品深夜av无码一区二区老年| 国产精品99一区二区三| 日韩亚洲第一页| av最新在线观看| 婷婷中文字幕一区| 久久视频免费观看| 老熟妇高潮一区二区三区| 国产精品久久久久久麻豆一区软件| 中文字幕精品av| www.xx日本| 国产精品久久天天影视| 欧美成人亚洲成人| 久久综合激情网| 亚洲日本黄色| 538国产精品一区二区免费视频| 精品国产乱码一区二区| 亚洲一区欧美激情| 日韩免费在线免费观看| 日韩av免费播放| 男女激情视频一区| 91手机在线观看| 特黄视频在线观看| 久久久久久久久久电影| 亚洲高清视频一区二区| 米奇777四色精品人人爽| 伊人色综合久久天天人手人婷| 国产精品一二三在线观看| 日本片在线看| 日韩欧美在线观看| 色片在线免费观看| 日韩精品亚洲专区在线观看| 亚洲国产欧美自拍| 91成年人网站| 99久久精品网站| 久久久久久九九九| 国产一区二区视频免费| 久久精品免费观看| 国产69精品久久久久9999apgf | 在线综合视频播放| 丰满少妇xbxb毛片日本| 天海翼精品一区二区三区| 国产一区二区激情| 99热精品免费| 国产精品久久国产愉拍| 国产精品视频地址| 午夜免费福利视频| 国产亚洲精品7777| 四虎4hu永久免费入口| 都市激情亚洲一区| 91麻豆精品国产91久久久更新时间 | 欧美性受xxxx黑人xyx性爽| 嫩草视频免费在线观看| 久久精品色综合| 中文字幕欧美日韩精品| 国产乱码久久久久久| 青娱乐精品视频在线| 99视频在线免费观看| 成人福利在线| 婷婷久久综合九色国产成人| 五月天开心婷婷| 久久影院资源站| 北条麻妃久久精品| 日韩手机在线观看| 国产乱码精品一区二区三区忘忧草| 久久青青草综合| 黄色网页网址在线免费| 日本丶国产丶欧美色综合| av影片在线播放| 99久久九九| 国产高清视频一区三区| 五月激情婷婷网| 一级中文字幕一区二区| 波多野结衣xxxx| 亚洲精品进入| 97在线看福利| 亚洲av无码国产综合专区| 国产精品午夜电影| aa在线免费观看| 久久动漫网址| 欧美寡妇偷汉性猛交| 国产精品毛片一区视频播| 国产亚洲欧美日韩在线一区| 国产最新免费视频| 东京久久高清| 欧美激情a∨在线视频播放| 97超碰人人模人人人爽人人爱| 国产午夜精品一区二区三区四区 | 成人国产精品久久久网站| 亚洲大胆视频| 国产精品果冻传媒潘| 国产写真视频在线观看| 欧美精品免费视频| 日本免费网站视频| 捆绑调教美女网站视频一区| 亚洲午夜精品久久久中文影院av| 日韩美女在线看免费观看| 亚洲乱码国产乱码精品精天堂| 久久久久久久久久免费视频| 成人美女视频在线观看18| 国产日韩欧美精品在线观看| julia中文字幕一区二区99在线| 美女视频黄免费的亚洲男人天堂| 一区二区精品视频在线观看| 国产精品美女久久久久久久| 人人干人人干人人| 久久成人综合| 亚洲一区二区三区视频播放| 国产一二区在线| 精品奇米国产一区二区三区| 久热精品在线观看| 99久久婷婷国产综合精品 | 谁有免费的黄色网址| 日韩成人精品视频| 亚洲午夜精品国产| 99热这里有精品| 欧美日韩福利电影| 无码国产精品一区二区免费16| 无吗不卡中文字幕| 免费在线观看你懂的| 日韩不卡一二三区| 一区二区三区四区视频在线| 国产中文欧美日韩在线| 欧美日韩爱爱视频| 五月婷婷在线观看视频| 色婷婷av一区二区三区软件| 中文天堂资源在线| 国产麻豆午夜三级精品| 免费人成在线观看视频播放| 亚洲伊人春色| 国产欧美中文字幕| 免费污视频在线| 国产一区二区欧美日韩| 999av视频| 精品国产91久久久| 在线看片中文字幕| 国产99久久久国产精品免费看| 99精品人妻少妇一区二区 | 一级欧美视频| 欧美日韩国产第一页| 飘雪影院手机免费高清版在线观看 | 亚洲欧美日韩网| 911美女片黄在线观看游戏| 亚洲一区二区三区在线播放| 可以直接看的无码av| 美国毛片一区二区| 国内精品视频一区二区三区| 久久99国内| 高清视频在线观看一区| 成人啊v在线| 国模精品系列视频| 日韩伦理在线电影| 亚洲精品二三区| 国产免费一区二区三区免费视频| 五月开心婷婷久久| 亚洲精品卡一卡二| 久久久三级国产网站| 黄色a级三级三级三级| 午夜亚洲性色福利视频| 日韩最新中文字幕| 欧美色网址大全| 国产在线精品日韩| 99er精品视频| 国产精品久久在线观看| 91av久久| 免费av在线一区| 欧美三级理伦电影| 国产亚洲一区二区精品| 天天操天天舔天天干| 日韩欧美中文字幕一区| 国产精品成人久久久| 精品女厕一区二区三区| 免费国产羞羞网站美图| 欧美韩日一区二区三区| 波多野结衣有码| 国产河南妇女毛片精品久久久| wwwwwxxxx日本| 久久久天天操| 黄色免费视频大全| 激情国产一区| youjizz.com在线观看| 欧美在线1区| 亚洲一区三区| 成人羞羞动漫| 污视频在线免费观看一区二区三区| 久久97精品| 久草热久草热线频97精品| 五月亚洲婷婷| 亚洲一区二区三区在线视频| www欧美在线观看| 国产美女精品视频免费观看| 久久久久黄色| 国产精品一区久久| 日韩大陆av| 国产原创欧美精品| 日韩欧乱色一区二区三区在线| 国产在线高清精品| 成人短视频软件网站大全app| 国产欧美一区二区白浆黑人| 亚洲热av色在线播放| 91麻豆国产精品| 国产亚洲亚洲国产一二区| 91在线国产电影| 久久久91麻豆精品国产一区| 亚洲一区二区三区四区视频 | 精品久久久久久综合日本| 风间由美一区二区av101| 99三级在线| 色婷婷久久久| 青青成人在线| 色综合天天爱| 免费人成在线观看视频播放| 国产主播精品| 日本a级片免费观看| 日本欧美一区二区三区乱码| 色婷婷一区二区三区av免费看| 加勒比av一区二区| 免费高清视频在线观看| 成av人片一区二区| 手机免费看av| ㊣最新国产の精品bt伙计久久| 国产一二三四区| 五月婷婷久久综合| 免费黄色片视频| 欧美一区二区三区喷汁尤物| 午夜福利视频一区二区| 国产香蕉精品视频一区二区三区| 日韩毛片久久久| 欧美激情在线狂野欧美精品| 成人性生活视频| 91在线视频精品| 国产一级成人av| 日韩电影免费观看在| 久久久久国产精品| 分分操这里只有精品| 日本vs亚洲vs韩国一区三区二区| 国产福利精品一区二区三区| 99精品在线观看视频| 91麻豆精品久久毛片一级| 亚洲一区在线观看视频| 奴色虐av一区二区三区| 日韩欧美一级在线播放| 精品视频二区| 精品自在线视频| 亚洲人免费短视频| 99国内精品久久久久久久软件| 综合综合综合综合综合网| 久久久久福利视频| 久久最新视频| 性猛交╳xxx乱大交| 欧美激情一区二区三区蜜桃视频 | 香蕉久久一区二区不卡无毒影院 | 在线不卡免费欧美| 天天综合天天综合| 色老头一区二区三区在线观看| 国产后进白嫩翘臀在线观看视频 | 综合色婷婷一区二区亚洲欧美国产| 欧美日韩四区| 伊人国产在线视频| 91亚洲精品久久久蜜桃| 人妻久久一区二区| 色天天综合久久久久综合片| 亚洲AV无码乱码国产精品牛牛| 在线看欧美日韩| 中国字幕a在线看韩国电影| 成人情趣片在线观看免费| 国产精品美女久久久久久不卡| 五月天激情图片| 久久成人免费日本黄色| 国产农村妇女精品久久| 欧美国产精品一区二区三区| 国产一级片视频| 91精品国产色综合久久| 国产在线视频你懂得| 97视频免费观看| 日韩成人久久| 一区二区国产日产| 日本欧美一区二区三区| 久久久久久久久久久国产精品| 亚洲成a人在线观看| 国产模特av私拍大尺度| 中文在线不卡视频| 欧美暴力调教| 日韩欧美亚洲在线| 日韩在线a电影| 男女黄床上色视频|