深度学习框架DeepLearning4J(DL4J)的安装及配置-程序员宅基地

技术标签: 深度学习框架  Maven  java  DeepLearning4j  IDEA  Deep Learning  DL4J  

一、DeepLearning4J的简介和系统要求

1、DeepLearning4J简介

Deeplearning4J(以下简称DL4J)不是第一个开源的深度学习项目,但与此前的其他项目相比,DL4J在编程语言和宗旨两方面都独具特色。DL4J是基于JVM、聚焦行业应用且提供商业支持的分布式深度学习框架,其宗旨是在合理的时间内解决各类涉及大量数据的问题。它与Hadoop和Spark集成,可使用任意数量的GPU或CPU运行。DL4J和其他深度学习的框架对比请参考这篇文章,DL4J与Torch、Theano、TensorFlow、Caffe、Paddle、MxNet、Keras 和 CNTK的比较

2、系统要求
  • Java(开发者版7或更新版本(仅支持64位版本)
  • Apache Maven
  • IntelliJ IDEA(建议)或Eclipse
  • Git

在使用以下指南之前,请先安装上述各项。DL4J主要面向熟悉各类生产部署工具、IDE和自动化构建工具的专业Java开发者。若您已熟悉这些工具,使用DL4J将易如反掌。本文默认你已经安装Java、Git、IDEA,没有安装的小伙伴请先安装后再继续看下面的教程。若你的机器已经具备以上要求,那就跟着我学习如何通过Maven安装DL4J吧,Let’s go~

二、Maven的安装及配置

1、下载Maven

下载地址为:http://maven.apache.org/download.cgi
在这里插入图片描述
点击图中红色圆圈的链接下载,本文下载的是3.6.0最新版本,你也可以使用其他版本。

2、配置环境变量

(1)新建系统变量,变量名为MAVEN_HOME,变量值为下载Maven的解压目录
在这里插入图片描述
(2)编辑环境变量Path,新增%MAVEN_HOME%\bin(非win10系统请在后面加英文分号分隔)
在这里插入图片描述
(3)(选做)设置Maven运行参数,新建系统变量,变量名为MAVEN_OPTS,变量值为-Xms128m -Xmx512m
在这里插入图片描述
由于Maven命令实际上是执行了Java命令,所以可以通过JAVA命令参数的方式来设置MAVEN运行参数,通常需要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,因为Java默认的最大可用内存往往不能够满足Maven运行的需要,比如在项目较大时,使用Maven生成项目站点需要占用大量的内存,如果没有该配置,则很容易得到java.lang.OutOfMemeoryError

3、检验是否安装成功

打开dos命令窗口,输入mvn -v或mvn --version测试环境变量是否配置成功,若出现下图的提示则Maven安装成功
在这里插入图片描述

三、在IDEA中配置Maven

1、配置Maven

File -> settings -> Bulid, Execution, Deployment -> Build Tools -> Maven(快捷键 Ctrl + Alt + S) 找到maven默认的配置,可以修改,也可以用默认的。修改最后三项,下图为我修改后的配置:
在这里插入图片描述
Maven home directory:你下载的Maven的目录

User settings file:你下载Maven的settings文件地址

Local repository:设置本地Maven仓库地址

2、修改settings.xml文件

(1)修改本地仓库地址,加入下面一句,D:\MavenRepository是我的仓库地址,可按自己的需求修改

<localRepository>D:\MavenRepository</localRepository>

(2)配置阿里云镜像服务器,在mirrors标签中添加以下一段

 <mirror>  
     <id>alimaven</id>  
     <name>aliyun maven</name>  
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
     <mirrorOf>central</mirrorOf>          
 </mirror>

(3)在profiles标签下修改jdk版本,按自己所需配置

<profile>    
     <id>jdk-1.8</id>    
      <activation>    
           <activeByDefault>true</activeByDefault>    
           <jdk>1.8</jdk>    
        </activation>    
  <properties>    
  <maven.compiler.source>1.8</maven.compiler.source>    
  <maven.compiler.target>1.8</maven.compiler.target>    
  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 
 </properties>
</profile>

四、获取DL4J示例代码

在命令行中输入以下代码,下载DL4J示例

git clone https://github.com/deeplearning4j/dl4j-examples.git

下载完成后,执行以下命令

cd dl4j-examples
mvn clean install

切换到dl4j-examples目录,然后使用Maven安装,运行结果如下图所示:
在这里插入图片描述
首次运行会下载很多依赖文件,时间较长。下载完成后,可以看到如下图所示的信息:
在这里插入图片描述

五、在IDEA中导入项目并运行

(1)打开IDEA,选择File->New->Project from Existing Sources,然后选择dl4j-examples的主目录,如下图所示
在这里插入图片描述
(2)选择“从外部模型导入项目”,确保已选中Maven,点击next
在这里插入图片描述
(3)点击右下方的Environment settings,在Maven environment中修改Maven目录,点击OK后其他默认,点击next
在这里插入图片描述
(4)在Select profiles中把OpenJFX和OpenJFX-11都勾选上,点击next

(5)之后一路next,继续按向导选项操作。选中以jdk开头的SDK。(可能需要点击加号才能看到相关选项……)随后点“完成”。稍等片刻,让IntelliJ IDEA加载所有的依赖项。右下方会显示进度条。

(6)加载完成后,发现pom.xml中有错误,需要修改pom.xml

将第44行修改为下面代码

<javafx.runtime.lib.jar>C:\Program Files\Java\jdk1.8.0_172\jre\lib\ext\jfxrt.jar</javafx.runtime.lib.jar>

第90行修改为:

<configFile>./contrib/formatter.xml</configFile>

第217行修改为:

<version>2.4</version>

修改后保存。

(7)在左边的树形目录中选择一个示例,本文选择的是MLPClassifierMoon,运行结果如下图
在这里插入图片描述

总结

本文介绍了如何在IDEA中使用Maven安装并配置DL4J,作为一篇DL4J的入门文章,希望可以给想学习DL4J或在DL4J安装中遇到问题的小伙伴一些帮助。接下来就可以深入研究和使用DL4J应用到自己的项目中。PS.如文中有错误,欢迎指正,谢谢~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/IT_xiao_bai/article/details/87186734

智能推荐

Linux查看登录用户日志_怎么记录linux设备 发声的登录和登出-程序员宅基地

文章浏览阅读8.6k次。一、Linux记录用户登录信息文件1  /var/run/utmp----记录当前正在登录系统的用户信息;2  /var/log/wtmp----记录当前正在登录和历史登录系统的用户信息;3  /var/log/btmp:记录失败的登录尝试信息。二、命令用法1.命令last,lastb---show a listing of la_怎么记录linux设备 发声的登录和登出

第四章笔记:遍历--算法学中的万能钥匙-程序员宅基地

文章浏览阅读167次。摘要:1. 简介 2. 公园迷宫漫步 3. 无线迷宫与最短(不加权)路径问题 4. 强连通分量1. 简介在计算机科学裡,树的遍历(也称为树的搜索)是圖的遍歷的一种,指的是按照某种规则,不重复地访问某种樹的所有节点的过程。具体的访问操作可能是检查节点的值、更新节点的值等。不同的遍历方式,其访问节点的顺序是不一样的。两种著名的基本遍历策略:深度优先搜索(DFS) 和 广度优先搜索(B...

【案例分享】使用ActiveReports报表工具,在.NET MVC模式下动态创建报表_activereports.net 实现查询报表功能-程序员宅基地

文章浏览阅读591次。提起报表,大家会觉得即熟悉又陌生,好像常常在工作中使用,又似乎无法准确描述报表。今天我们来一起了解一下什么是报表,报表的结构、构成元素,以及为什么需要报表。什么是报表简单的说:报表就是通过表格、图表等形式来动态显示数据,并为使用者提供浏览、打印、导出和分析的功能,可以用公式表示为:报表 = 多样的布局 + 动态的数据 + 丰富的输出报表通常包含以下组成部分:报表首页:在报表的开..._activereports.net 实现查询报表功能

Ubuntu18.04 + GNOME xrdp + Docker + GUI_docker xrdp ubuntu-程序员宅基地

文章浏览阅读6.6k次。最近实验室需要用Cadence,这个软件的安装非常麻烦,每一次配置都要几个小时,因此打算把Cadence装进Docker。但是Cadence运行时需要GUI,要对Docker进行一些配置。我们实验室的服务器运行的是Ubuntu18.04,默认桌面GNOME,Cadence装进Centos的Docker。安装Ubuntu18.04服务器上安装Ubuntu18.04的教程非常多,在此不赘述了安装..._docker xrdp ubuntu

iOS AVFoundation实现相机功能_ios avcapturestillimageoutput 兼容性 ios17 崩溃-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏2次。首先导入头文件#import 导入头文件后创建几个相机必须实现的对象 /** * AVCaptureSession对象来执行输入设备和输出设备之间的数据传递 */ @property (nonatomic, strong) AVCaptureSession* session; /** * 输入设备 */_ios avcapturestillimageoutput 兼容性 ios17 崩溃

Oracle动态性能视图--v$sysstat_oracle v$sysstat视图-程序员宅基地

文章浏览阅读982次。按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sesstat,该视图存储下列的统计信息:1>.事件发生次数的统计(如:user commits)2>._oracle v$sysstat视图

随便推点

Vue router报错:NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}的解决方法_navigationduplicated {_name: 'navigationduplicated-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏9次。我最近做SPA项目开发动态树的时候一直遇到以下错误:当我点击文章管理需要跳转路径时一直报NavigationDuplicated {_name: “NavigationDuplicated”, name: “NavigationDuplicated”}这个错误但是当我点击文章管理后,路径跳转却是成功的<template> <div> 文章管理页面 <..._navigationduplicated {_name: 'navigationduplicated', name: 'navigationduplic

Webrtc回声消除模式(Aecm)屏蔽舒适噪音(CNG)_webrtc aecm 杂音-程序员宅基地

文章浏览阅读3.9k次。版本VoiceEngine 4.1.0舒适噪音生成(comfort noise generator,CNG)是一个在通话过程中出现短暂静音时用来为电话通信产生背景噪声的程序。#if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)static const EcModes kDefaultEcMode = kEcAecm;#elsestati..._webrtc aecm 杂音

医学成像原理与图像处理一:概论_医学成像与图像处理技术知识点总结-程序员宅基地

文章浏览阅读6.3k次,点赞9次,收藏19次。医学成像原理与图像处理一:概论引言:本系列博客为医学成像原理与图像处理重要笔记,由于是手写,在此通过扫描录入以图片的形式和电子版增补内容将其进行组织和共享。前半部分内容为图像处理基础内容,包括图像的灰度级处理、空间域滤波、频率域滤波、图像增强和分割等;后半部分内容为医学影象技术,包括常规胶片X光机、CR、DR、CT、DSA等X射线摄影技术、超声成像技术、磁共振成像(MRI)技术等。本篇主要内容是概论。_医学成像与图像处理技术知识点总结

notepad++ v8.5.3 安装插件,安装失败怎么处理?下载进度为0怎么处理?_nodepa++-程序员宅基地

文章浏览阅读591次,点赞13次,收藏10次。notepad++ v8.5.3 安装插件,下载进度为0_nodepa++

hive某个字段中包括\n(和换行符冲突)_hive sql \n-程序员宅基地

文章浏览阅读2.1w次。用spark执行SQL保存到Hive中: hiveContext.sql(&quot;insert overwrite table test select * from aaa&quot;)执行完成,没报错,但是核对结果的时候,发现有几笔数据超出指定范围(实际只包含100/200)最终排查到是ret_pay_remark 字段包含换行符,解决方案:执行SQL中把特殊字符替换掉regexp_replace(..._hive sql \n

印象笔记05:如何打造更美的印象笔记超级笔记_好的印象笔记怎么做的-程序员宅基地

文章浏览阅读520次,点赞10次,收藏8次。印象笔记05:如何打造更美的印象笔记超级笔记本文介绍印象笔记的具体使用,如何打造更美更实用的笔记。首先想要笔记更加好看和实用,我认为要使用超级笔记。所谓超级笔记就是具有很多便捷功能的笔记。_好的印象笔记怎么做的

推荐文章

热门文章

相关标签