用IDEA开发BigDL——Scala

来源:互联网 发布:淘宝怎么过高 编辑:程序博客网 时间:2024/06/03 12:57
  • 综述
  • 开发
    • –1.下载BigDL
    • –2.导入项目到IDEA
    • –3.配置IDEA

综述

BigDL 是一种面向 Apache Spark* 的分布式深度学习库。用户可以通过 BigDL 将深度学习应用编写为标准的 Spark程序,可以直接在现有的 Spark 或 Hadoop* 集群上运行。


一些文章将BigDL描述为“Non GPU on Spark”。BigDL依靠Spark并行计算框架,实现快速的深度学习计算。Intel2016年末开源BigDL深度学习框架,到目前为止(2017.04)BigDL支持scala、java和python语言,框架里面包含了许多网络model,并且相关的内容不断更新,功能不断完善中。

官方介绍: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

开发

官方的wiki里面给出了在linux/macos下面Build Page的方法,并且在Getting-Started中给出运行实例代码的方法,这些方式适合运行实例,对于开发者来说并不方便,本文给出了用IDEA开发BigDL的方法。

环境

  • macos
  • IntelliJ IDEA
  • jdk-1.8
  • scala-2.11
  • maven-3.3.9
  • spark-2.1
  • Git

本文默认你的电脑已经安装好了jdk、scala、maven和spark等环境,不在此赘述。

1. 下载BigDL

Intel将BigDL源码放在github上面,首先将源码下载到本地电脑。你可以直接在BigDL主页右侧的Clone or download选择Download ZIP然后解压到本地目标目录,或者在本地目标目录使用git命令

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

2.导入项目到IDEA


2.1 打开idea,选择Import Project

IDEA的向导界面,选择Import Project

2.2选择上一步的BigDL目录

然后选择上一步的BigDL目录

2.3选择Maven

选择Maven


2.4直接点击下一步
这里写图片描述

2.5选择版本,其中的mac是用macos开发才选择的,all-in-one是根据官方文档给出选择的
选择版本

2.6然后点击下一步即可,等待IDEA将pom.xml中的依赖等下载好;

3.配置IDEA

下面配置环境变量。选择Run->Edit Configuration,如果没有红框里面的就点+新建一个;
Edit Configuration

在这里面需要更改Main class/VM options/Program arguments/Working directory/Environment variables,其中,
Main class:需要运行的文件
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-b 4--maxEpoch 8--checkpoint ./model
_note
  -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>        batch size  -e <value> | --maxEpoch <value>        max epoch

Working directory:选择工程根目录
Environment variables:

DL_ENGINE_TYPE=mklblasMP_NUM_THREADS=1KMP_BLOCKTIME=0OMP_WAIT_POLICY=passiveMKL_DISABLE_FAST_MM=1OMP_NUM_THREADS=1

在mnist网站上下载手写体数据库放到./mnist目录下面(具体文件目录结构参考2.2图),打开./spark/dl/main/scala/com.intel.analytics.bigdl/models/autoencoder/Train.scala点击运行即可。








北京师范大学
图形图像与模式识别实验室
sibofeng@mail.bnu.edu.cn

0 0
原创粉丝点击