跳轉到主要內容
工程的博客

英特爾的BigDL磚

分享這篇文章

試試這個筆記本磚

英特爾最近發布了BigDL項目對分布式深度學習在Apache火花。BigDL本機火花集成,允許它利用火花在模型訓練,預測,和調優。這篇文章給了BigDL和教程展示如何開始使用BigDL磚。

英特爾的BigDL項目

BigDL是一個開源的深度學習圖書館從英特爾。仿照火炬,BigDL低級的數值計算提供了功能和高級神經網絡。BigDL是書麵上的Apache火花,允許容易擴展計算。

本機Apache火花集成

BigDL的本機火花集成分離BigDL從許多其他深度學習項目。所有主要的深度學習庫與火花可以集成我們之前的博文),但許多圖書館是最好的集成上分別通過運行庫引發工人。這個設置使它容易使用火花分配特定的任務,如預測和模型調優,但難以分配模型的訓練。

由於BigDL之上的火花,它便於分發模型訓練,最深度學習的計算密集型部分。用戶不必顯式地處理分布計算。相反,BigDL火花集群自動傳播工作。

利用最近的CPU架構

與cpu上運行的其他深度學習框架相比,BigDL也達到加速效果通過利用最新的英特爾架構。特別是,它附帶英特爾數學內核庫(MKL),它可以促進深度學習所需的大量數值計算。看看英特爾的BigDL文章BigDL GitHub頁麵獲取詳細信息。

教程:使用BigDL磚

在這篇文章的其餘部分,我們將穿過一個深層神經網絡訓練例子使用BigDL磚。我們的應用程序是一個典型的手寫數字識別問題使用MNIST數據集。

截圖的手寫數字。

給定一個數據集的手寫數字,加上真正的標簽(0 - 9),我們將使用BigDL訓練LeNet 5網絡模型。我們的訓練模式可以采取新的圖片和推斷出他們的數字。這篇文章給出了一個高層工作流程的描述,你可以查看的同伴磚的筆記本全部細節。材料很大程度上來自於這個BigDL教程

建立了一個火花集群

建立BigDL火花集群,您需要:

  • 構建BigDL
  • 創建和配置您的集群——這是一個關鍵的步驟,從BigDL獲得最佳的性能。
  • 進口BigDL和附加圖書館集群

指的是同伴的筆記本有關建築BigDL和集群配置。

初始化BigDL

BigDL告訴它的尺寸你需要一些特殊配置集群火花。鑒於這些維度,BigDL將整個工人找出如何分割任務。主要配置包括:

  • nodeNumber:火花執行器節點的數量
  • coreNumber:核心/執行器節點的數量
  • batchSize:每個迭代要處理的數據行數

看一下Engine.init調用的同伴的筆記本如何初始化完成。

下載並準備MNIST數據

來幫助你開始,我們提供一個腳本下載MNIST字節數據文件,以及這些字節文件加載的方法。最後,我們使用這些圖像加載我們的訓練集和驗證集。例如,下麵的代碼片段加載原始字節數據,將其轉換為灰度圖像,可實現圖像的特性,和組圖片為培訓批次。

val小火車=數據集。數組(負載(trainData trainLabel), sc) - >BytesToGreyImg (28,28)- - - >GreyImgNormalizer (trainMean trainStd) - >GreyImgToBatch (param.batchSize)

火車模型

與數據加載,我們現在可以訓練我們LeNet模型學習網絡參數。BigDL使用隨機梯度下降法(SGD)學習,所以關鍵學習參數調整:

  • learningRate在學習:“速度”,較小的價值觀幫助避免當地最適條件但較大的值在每個迭代中產生更多的進展
  • maxEpoch:最大數量的外層的時代,或者迭代,進行訓練

我們創建一個初始模型使用提供的LeNet 5網絡結構,指定,我們預計10類(數字0 - 9):

val initialModel = LeNet5 (10)

我們下一個指定優化器,包括我們要優化的學習標準。在這種情況下,我們盡量減少類負對數似然判據。

val優化器=優化器(= initialModel模型,數據集=小火車,標準= ClassNLLCriterion [浮動)())

最後,我們指定一個驗證標準(Top1Accuracy)跟蹤精度測試集,以及終止條件(Trigger.maxEpoch)決定何時停止訓練。我們稱之為優化(),BigDL開始訓練!

作出預測和評價

與我們的trainedModel,我們現在可以作出預測和評價精度的新數據。BigDL提供了一組評價指標通過驗證器和ValidationMethod類。

val驗證器=驗證器(trainedModel validationSet)瓦爾結果=validator.test (數組(Top1Accuracy [浮動)))

檢查結果,我們可以看到,我們的模型達到了99%的準確率,使正確的預測在10000年9884驗證的例子。

下一個步驟

我們給了一個快速概述BigDL和如何開始。了解更多關於BigDL,我們建議簽出BigDL GitHub頁麵BigDL說話火花峰會2017年波士頓(網上發布在該鏈接後不久峰會)。

開始BigDL磚,嚐試的同伴的筆記本上免費磚社區版。筆記本電腦提供了更詳細的介紹。試著調優模型或學習設置來實現更高的準確性!

免費試著磚
看到所有工程的博客的帖子
Baidu
map