支援原創,更多內容歡迎關注作者部落格:
http://www.china10s.com/blog/?p=490
機器學習這種計算方式,於上世紀就已經被世人所知,但是受限制於電腦的計算能力和網路速度等原因,沒有得到發展。在摩爾效應下,現在的電腦效能大幅提升,即便是手上的iPhone,都會比當時美國登月所使用的機器要強。於是,在這個背景下,機器學習開始飛速發展,各大公司都已經在這方面投入資源,希望能夠分一杯羹。
Google 一直是以技術作為導向的公司,現在他們也開源了一套電腦引擎–TensorFlow。他支援PC和移動版本,並且學習資源充足。它具有:高度的靈活性、可移植性、自動求微分、多語言支援、效能最優?化等特點。可以說是縮短了科研與產品之間的距離,省去了大量重複代碼的編寫時間。
TensorFlow 是一個採用資料流圖(data flow graphs),用於數值計算的開源軟體庫。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯絡的多維資料數組,即張量(tensor)。它靈活的架構讓你可以在多種平台上展開計算,例如台式電腦中的一個或多個CPU(或GPU),伺服器,行動裝置等等。TensorFlow 最初由Google大腦小組(隸屬於Google機器智能研究機構)的研究員和工程師們開發出來,用於機器學習和深度神經網路方面的研究,但這個系統的通用性使其也可廣泛用於其他計算領域。
現在,我們可以很快速的將 TensorFlow 部署到移動平台上去,包括 iOS 和 Android 平台。以 iOS 為例,介紹一下如何?部署: 第一步,下載 TensorFlow 檔案
由於 TensoreFlow 已經在 Github 開源,可以直接下載:
Github 首頁地址
V1.1.0 下載地址 第二步,下載 Model 檔案
有了工具,還得有訓練出來的模型,這裡不需要我們再訓練(也沒有樣本資料)。
下載現成的訓練模型:
Inception v1
下載完成之後,在 camera 工程目錄下建立 data 檔案夾。將下載下來的如下檔案拷入:
imagenet_comp_graph_label_strings.txt
tensorflow_inception_graph.pb 第三步,相關工具
在缺少 libtool? 的情況下,是無成功進行編譯的,安裝的方式如下:
sudo apt-get install libtool
第四步,編譯庫檔案
在如下目錄執行指令碼:
sudo ./tensorflow-master/tensorflow/contrib/makefile/build_all_ios.sh
這個編譯過程大約要花費1個小時左右的時間(和機器效能有關)。
編譯完成之後,產生 libtensorflow-core.a,將產生結果拷貝到 camera 工程目錄下
第五步,識別結果如圖所示
杯子
iPhone
滑鼠
筆記本