淺談深度學習的落地問題

前言

深度學習不不只僅是理論創新,更重要的是應用於工程實際。python

關於深度學習人工智能落地,已經有有不少的解決方案,不管是電腦端、手機端仍是嵌入式端,將已經訓練好的神經網絡權重在各個平臺跑起來,應用起來纔是最實在的。ios

TIM截圖20180927154910
(caffe2-ios:https://github.com/KleinYuan/Caffe2-iOS)git

這裏簡單談談就在2018年咱們通常深度學習落地的近況。github

Opencv

Opencv相比你們都比較瞭解,很流行很火的開源圖像處理庫,人工智能深度學習大夥,Opencv天然不能落下。早在去年Opencv開始加入Dnn模塊,而且一直更新,可是有點須要注意,Opencv的深度學習模塊是用來inference推斷而不是用來訓練的。windows

爲何,由於如今已經存在不少優秀的深度學習框架了(TensorFlow、Pytorch),Opencv只須要管好能夠讀取訓練好的權重模型進行推斷就足夠了。網絡

TIM截圖20180927155125
(opencv-4.0.0已經發布)多線程

本身試着跑了一下Opencv版的yolov3,利用yolo官方訓練好的權重,讀取權重而且利用Opencv的前向網絡運行——速度還能夠,在i5-7400 CPU上推斷用了600+ms框架

dog_yolo_out_cpp

而我用2017版MacBookPro-2.3GHz版本的CPU(i5-7260u)則跑了500ms。要知道這是徹底版本的yolo-v3。若是進一步優化的話,在稍微好點的CPU端是能夠跑到10fps!分佈式

另外在learnopencv相關文章中,也有詳盡的評測:性能

TIM截圖20180927160416

在6核12線程的CPU中能夠跑到200ms,速度至關快了,並且優化的空間仍是有的。

爲何Opencv版的比Darknet版的速度快那麼多,是由於Opencv的Cpu端的op編寫過程當中利用了CPU-MKL等不少優化庫,針對英特爾有着很好的優化,充分利用了多線程的優點(多線程很重要,並行計算比串行計算快不少)。

固然這些優化還不是盡頭,Opencv也在一直更新:

TIM截圖20180927155258

Opencv能夠做爲一個不錯的落地的深度學習推斷平臺,只要安裝好Opencv,就能夠跑深度學習代碼了,不須要安裝其餘深度學習框架了。可是有點須要注意,Opencv最好的實踐是CPU端,GPU端Opencv對cuda的支持不是很好,Opencv只有利用OpenCL支持GPU,但速度沒有cuda庫快。

Pytorch-v1.0

Pytorch-v1.0的預覽版已經發布了,正式版應該是在國慶節的第一天發佈。

TIM截圖20180927161153

但咱們在觀察Pytorch的1.0文檔中已經能夠熟知,爲何Pytorch-v1.0稱爲從研究到生產

TIM截圖20180927161318

最重要的三點:

  • 分佈式應用
  • ONNX的徹底支持
  • 利用C++部署生成環境

簡單談談第三個要點,看了官方的說明文檔,Pytorch也作了相似於Opencv工做,新的Pytorch支持直接應用Pytorch的C++部分從而編譯能夠單獨執行Pytorch的推斷部分而不須要安裝全部Pytorch的組件。

近期會測試一下Pytorh和Opencv相比在Cpu端的速度,看看哪一個對CPU端的優化更好些。

IOS、安卓

IOS最大的看點就是:Iphone最新出來的A12仿生處理器!

TIM截圖20180927162316

5W億次每秒運行速度,跟專業顯卡比起來可能不算什麼,可是在手機端,意思可想而知。

只是不知道具體的速度如何,跑Yolo的話可不能夠實時,期待以後的測評吧。

20180913173132_8447

不過在HomeCourt這款APP中(中國目前還不可使用),憑藉A12強大的性能,貌似能夠實時追蹤人體骨架。仍是很值得期待的。

至於安卓端,由於華爲的芯片尚未具體公佈,目前在移動端上的神經網絡框架大部分是用CPU跑。

速度快慢就看在arm端的優化如何了。

比較流行的兩個框架是ncnn(主要是cpu)和mace(也支持Gpu)。都在發展階段,前者出世1年左右,後者出世半年不到。

也期待一下吧!

後記

深度學習落地,最繁瑣的莫過於配置各類環境,但願以後各大深度學習框架可以在落地這塊加大投入,實現快速方便地部署吧!

配一張Openpose的配置信息:

TIM截圖20180913162425
(OpenPose中對Windows的要求較爲苛刻)

撩我吧

  • 若是你與我志同道合於此,老潘很願意與你交流;
  • 若是你喜歡老潘的內容,歡迎關注和支持。
  • 若是你喜歡個人文章,但願點贊👍 收藏 📁 評論 💬 三連一下~

想知道老潘是如何學習踩坑的,想與我交流問題~請關注公衆號「oldpan博客」。
老潘也會整理一些本身的私藏,但願能幫助到你們,點擊神祕傳送門獲取。

相關文章
相關標籤/搜索