用IDEA開發(fā)BigDL——Scala

  • 綜述
  • 開發(fā)
    • 1.下載BigDL
    • 2.導(dǎo)入項目到IDEA
    • 3.配置IDEA

綜述

BigDL 是一種面向 Apache Spark* 的分布式深度學(xué)習(xí)庫。用戶可以通過 BigDL 將深度學(xué)習(xí)應(yīng)用編寫為標(biāo)準(zhǔn)的 Spark程序,可以直接在現(xiàn)有的 Spark 或 Hadoop* 集群上運(yùn)行。

</br>
一些文章將BigDL描述為“Non GPU on Spark”。BigDL依靠Spark并行計算框架,實現(xiàn)快速的深度學(xué)習(xí)計算。Intel2016年末開源BigDL深度學(xué)習(xí)框架,到目前為止(2017.04)BigDL支持scala、java和python語言,框架里面包含了許多網(wǎng)絡(luò)model,并且相關(guān)的內(nèi)容不斷更新,功能不斷完善中。
</br>
官方介紹:https://software.intel.com/zh-cn/articles/bigdl-distributed-deep-learning-on-apache-spark
BigDL github:https://github.com/intel-analytics/BigDL
wiki:https://github.com/intel-analytics/BigDL/wiki

開發(fā)

官方的wiki里面給出了在linux/macos下面Build Page的方法,并且在Getting-Started中給出運(yùn)行實例代碼的方法,這些方式適合運(yùn)行實例,對于開發(fā)者來說并不方便,本文給出了用IDEA開發(fā)BigDL的方法。

環(huán)境

  • macos
  • IntelliJ IDEA
  • jdk-1.8
  • scala-2.11
  • maven-3.3.9
  • spark-2.1
  • Git
    </br>

本文默認(rèn)你的電腦已經(jīng)安裝好了jdk、scala、maven和spark等環(huán)境,不在此贅述。

1. 下載BigDL

Intel將BigDL源碼放在github上面,首先將源碼下載到本地電腦。你可以直接在BigDL主頁右側(cè)的Clone or download選擇Download ZIP然后解壓到本地目標(biāo)目錄,或者在本地目標(biāo)目錄使用git命令

git clone https://github.com/intel-analytics/BigDL.git

2.導(dǎo)入項目到IDEA

</br>
2.1 打開IDEA,選擇Import Project


IEDA向?qū)ы撁?/div>

</br>
2.2選擇上一步的BigDL目錄

然后選擇上一步的BigDL目錄

</br>
2.3選擇Maven

選擇Maven

</br>
2.4直接點(diǎn)擊下一步


點(diǎn)擊Next

</br>
2.5選擇版本,圖中的mac是本文環(huán)境用macos開發(fā)選擇的,all-in-one是根據(jù)官方文檔給出選擇的


選擇Maven依賴

</br>
2.6然后點(diǎn)擊下一步即可,等待IDEA將pom.xml中的依賴等下載好;
</br>

3.配置IDEA

下面配置環(huán)境變量。選擇Run->Edit Configuration,如果沒有紅框里面的就點(diǎn)+新建一個;

Edit Configuration

在這里面需要更改Main class/VM options/Program arguments/Working directory/Environment variables,其中,
Main class:需要運(yùn)行的文件
VM options:

-Dspark.master=local[1]
-Dspark.executor.cores=1
-Dspark.total.executor.cores=1
-Dspark.executor.memory=1g
-Dspark.driver.memory=1g
-Xmx1024m
-Xms1024m

Program arguments:

--folder ./mnist
--batchSize 4
--maxEpoch 8
--checkpoint ./model
Program arguments 參數(shù)解釋
  -f <value> | --folder <value>
        where you put the MNIST data
  --model <value>
        model snapshot location
  --state <value>
        state snapshot location
  --checkpoint <value>
        where to cache the model and state
  -b <value> | --batchSize <value>(batchSize屬性有些問題)
        batch size
  -e <value> | --maxEpoch <value>
        max epoch

Working directory:選擇工程根目錄
Environment variables:

DL_ENGINE_TYPE=mklblas
MP_NUM_THREADS=1
KMP_BLOCKTIME=0
OMP_WAIT_POLICY=passive
MKL_DISABLE_FAST_MM=1
OMP_NUM_THREADS=1

在mnist網(wǎng)站上下載手寫體數(shù)據(jù)庫放到./mnist目錄下面(具體文件目錄結(jié)構(gòu)參考2.2圖),打開./spark/dl/main/scala/com.intel.analytics.bigdl/models/autoencoder/Train.scala點(diǎn)擊運(yùn)行即可。

</br>
</br>
</br>
</br>
</br>
北京師范大學(xué)
圖形圖像與模式識別實驗室
sibofeng@mail.bnu.edu.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容