如何用Eclipse设置DL4J项目

原文:How to setup a DL4J project with eclipse


本文是在Eclipse中设置一个Java项目的指南,写给不想同Maven扯上关系的Eclipse用户参考。我在这篇教程中使用的是Eclipse 4.3。最新的发行版本是Neon 4.6.1。本指南内容也适用于4.x及更新版本。

在开始介绍具体步骤之前先提一句:不介意使用Maven的读者不妨参照快速入门指南来操作。以下是一些有用的链接


系统要求:

  • JDK1.8
  • Eclipse 4.x

安装Deep Learning 4 Java

首先要下载deeplearning4j及示例。如果您有Github账户,并且系统中已经安装了GIT,请按“已安装GIT”下的步骤操作


已安装GIT

  1. 启动GIT shell
  2. 切换至您希望克隆DL4J的驱动器或文件夹
  3. 运行“git clone https://github.com/deeplearning4j/deeplearning4j deeplearning4j”,如果您想让文件名短一些,可以把最后一个参数替换掉。比如改为“git clone https://github.com/deeplearning4j/deeplearning4j DL4J”
  4. 运行“git clone https://github.com/deeplearning4j/dl4j-examples dl4j-examples”

未安装GIT


安装DL4J使用的库

和大多数用Java编写的开源项目一样,DL4J也使用各种第三方的库。我创建了一个github项目,其中包含了DL4J版本0.7.x所必需的全部jar文件。本教程不讨论依赖项,我打算在之后的教程里再来介绍。

  1. 新开一个浏览器窗口,访问https://github.com/woolfel/robottag
  2. 点击“clone or download”
  3. 将文件解压缩至同个文件夹
  4. 0.7.x使用的jar文件都在“lib”文件夹里。总共有50多个jar文件
deeplearning4j

以下是0.6.x版本的jar文件列表,附简短说明

  • arbiter-deeplearning4j-0.6.0.jar - 包含DL4J通用类
  • commons-compress-1.8.1.jar - Apache Commons的压缩工具类库
  • commons-io-2.5 - Apache Commons的输入/输出工具类库
  • commons-lang3-3.4.jar - Apache Commons的语言工具类库
  • commons-math3-3.4.jar - Apache Commons的数学类库
  • datavec-api-0.6.0.jar - 用于将数据转换为通用向量格式的DL4J类库
  • datavec-data-codec-0.6.0.jar - DL4J的编解码器(codec,即编码和解码)类库
  • datavec-data-image-0.6.0.jar - DL4J的图像数据类库
  • datavec-nd4j-common-0.6.0.jar - 与ND4J进行集成的DL4J数据类库
  • deeplearning4j-aws-0.6.0.jar - 亚马逊AWS类库
  • deeplearning4j-core-0.6.0.jar - DL4J的核心类
  • deeplearning4j-cuda-8.0-0.6.0.jar - 与CUDA相关的DL4J类
  • deeplearning4j-graph-0.6.0.jar - 用于处理图的类
  • deeplearning4j-nlp-0.6.0.jar - 用于自然语言解析的类
  • deeplearning4j-nlp-uima-0.6.0.jar - 非结构化信息管理的框架
  • deeplearning4j-nn-0.6.0.jar - 与神经网络相关的类
  • deeplearning4j-ui-0.6.0.jar - 与用户界面相关的类
  • deeplearning4j-ui-components-0.6.0.jar - 与用户界面相关的组件
  • ffmpeg-3.0.2-1.2.jar - 使用ffmpeg库的Java类库
  • ffmpeg-3.0.2-1.2-windows-x86_64.jar - Windows系统相关的ffmpeg库
  • guava-10.0.jar - google guava类库集合了一些有用的工具
  • jackson-annotations-2.5.1.jar - 流行的JSON处理类库
  • jackson-databind-2.3.1.jar - jackson的数据绑定类
  • jackson-dataformat-yaml-2.5.1.jar - 用于解析YAML格式的类
  • jackson-datatype-guava-2.5.1.jar - 与guava相关的类
  • jackson-dataype-jdk7-2.5.1.jar - 与JDK1.7相关的类
  • jackson-datatype-joda-2.4.4.jar - 与Joda时间日期库相关的类
  • jackson-jaxrs-json-provider-2.5.1.jar - JAXRS规范支持
  • javacpp-1.2.4.jar - 用于连接Java与C++的库
  • javacv-1.2.jar - 开源计算机视觉的Java类库
  • javassist-3.19.0-GA.jar - 字节码操作的Java类库
  • jfreechart-1.0.13.jar - jfreechart是一个Java制图框架
  • leptonica-1.73-1.2.jar - 图像处理库
  • leptonica-1.73-1.2-windows-x86_64.jar - Windows系统相关的本机代码调用库
  • nd4j-api-0.6.0 - NDJ4是Java的科学计算库
  • nd4j-buffer-0.6.0.jar - 与缓冲区相关的jar文件
  • nd4j-common-0.6.0.jar - ND4J的通用类
  • nd4j-context-0.6.0.jar - ND4J上下文类
  • nd4j-cuda-7.5-0.6.0.jar - CUDA 7.5通用类
  • nd4j-cuda-7.5-0.6.0-windows-x86_64.jar - Windows系统相关的CUDA类
  • nd4j-jackson-0.6.0.jar - 与jackson相关的ND4J类
  • nd4j-native-0.6.0.jar - CPU图像处理的通用类
  • nd4j-native-0.6.0-windows-x86_64.jar - Windows系统相关的类
  • nd4j-native-api - ND4J的API
  • nd4j-native-platform-0.6.0.jar - 处理特定平台的调用的类
  • opencv-3.1.0-1.2.jar - 与OpenCV相关的Java类,用于将OpenCV的调用变为显式
  • opencv-3.1.0-1.2-windows-x86_64.jar - Windows系统相关的OpenCv类
  • reflections-0.9.10.jar - 反射工具类
  • slf4j-api-1.7.2.jar - SLF4J日志API

0.7.x及更新版本的jar文件与此类似。不同版本之间可能有一些区别,但差异不大。


创建一个新的Eclipse项目

安装了DL4J源代码、DL4J示例和robottag项目后,就可以创建一个新项目了。我在这里假设您已使用过Eclipse,下面的分步指南供没有用过的读者参考。其他读者可跳过本段。

  • 启动Eclipse

  • 点击File

  • 选择New Java project

    deeplearning4j
  • 项目命名。我用的名称是MyProject,您可以随意命名

    deeplearning4j
  • 点选“Use project specific JRE”

  • 选择Java 8

  • 点击Finish,Eclipse就会创建项目

  • 选中新建的项目,右击

  • 选择New -> Folder,添加存放库的文件夹

    deeplearning4j
  • 键入“lib”作为文件夹的名称,点击Finish

    deeplearning4j
  • 用Windows资源管理器将所有jar文件从robottag/lib/目录下复制出来,全部粘贴至新的lib文件夹

  • 选中项目,右击并选择“Refresh”,或者直接按F5键刷新

    deeplearning4j
  • 右击项目,选择Properties。我们将jar库添加至项目

    deeplearning4j
  • 选择Java Build Path

  • 点击Libraries选项卡

  • 点击Add Libraries

  • 选中lib文件夹中所有的jar文件,文件名中包含CUDA的除外。如果您有NVidia显卡且想要使用CUDA,那么也要添加CUDA相关的jar文件

到这一步,项目所需的库就都配置好了。如果遇到问题,请检查JDK设置。

与我们在Gitter聊天