欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

关于DL4J

  • DL4J是Deeplearning4j的简称,是基于Java虚拟机的深度学习框架,是用java和scala开发的,已开源,官网:https://deeplearning4j.org/

关于《DL4J实战》系列

  • 《DL4J实战》是欣宸在深度学习领域的原创,旨在通过一系列动手操作,由浅入深了解深度学习的基本知识,掌握通用操作,并且对DL4J逐渐熟练,进而在学习和工作中解决实际问题

本篇概览

  • 作为《DL4J实战》系列的开篇,本文为后面的文章和实战做好准备工作,包含以下内容:
  1. 确定环境和版本信息
  2. 创建名为dl4j-tutorials的maven工程作为父工程,后面整个系列的代码都是dl4j-tutorial的子工程
  3. 创建名为commons的子工程,这里面是一些常用的工具代码,例如下载数据集、绘图等

源码下载

  • 本篇实战中的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
名称 链接 备注
项目主页 https://github.com/zq2599/blog_demos 该项目在GitHub上的主页
git仓库地址(https) https://github.com/zq2599/blog_demos.git 该项目源码的仓库地址,https协议
git仓库地址(ssh) git@github.com:zq2599/blog_demos.git 该项目源码的仓库地址,ssh协议
  • 这个git项目中有多个文件夹,《DL4J实战》系列的源码在dl4j-tutorials文件夹下,如下图红框所示:

版本信息

本系列实战都是在以下环境进行,这里列出来供您参考:

  1. 操作系统:win10 64位专业版
  2. JDK:1.8.0_281
  3. maven:3.6.2
  4. IEDA:2021.1.1 (Ultimate Edition)
  5. DL4J:1.0.0-beta7

《DL4J实战》系列源码的公用父工程

  • 《DL4J实战》系列的源码都放置在同一个父工程下,除了管理代码方便,还可以将各个子工程的依赖库版本统一管理,接下来创建这个父工程;
  • 新建名为dl4j-tutorials的maven工程,该工程下只有pom.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.bolingcavalry</groupId><artifactId>dlfj-tutorials</artifactId><version>1.0-SNAPSHOT</version><modules><module>commons</module><module>classifier-iris</module></modules><packaging>pom</packaging><properties><java.version>1.8</java.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><dl4j-master.version>1.0.0-beta7</dl4j-master.version><!-- Change the nd4j.backend property to nd4j-cuda-X-platform to use CUDA GPUs --><!-- <nd4j.backend>nd4j-cuda-10.2-platform</nd4j.backend> --><nd4j.backend>nd4j-native</nd4j.backend><java.version>1.8</java.version><maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version><maven.minimum.version>3.3.1</maven.minimum.version><exec-maven-plugin.version>1.4.0</exec-maven-plugin.version><maven-shade-plugin.version>2.4.3</maven-shade-plugin.version><jcommon.version>1.0.23</jcommon.version><jfreechart.version>1.0.13</jfreechart.version><logback.version>1.1.7</logback.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencyManagement><dependencies><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.29</version></dependency><dependency><groupId>io.netty</groupId><artifactId>netty-common</artifactId><version>4.1.48.Final</version></dependency><dependency><groupId>org.nd4j</groupId><artifactId>${nd4j.backend}</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.datavec</groupId><artifactId>datavec-api</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.datavec</groupId><artifactId>datavec-data-image</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.datavec</groupId><artifactId>datavec-local</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-datasets</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-core</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-ui</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-zoo</artifactId><version>${dl4j-master.version}</version></dependency><!-- ParallelWrapper & ParallelInference live here --><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-parallel-wrapper</artifactId><version>${dl4j-master.version}</version></dependency><!-- Used in the feedforward/classification/MLP* and feedforward/regression/RegressionMathFunctions example --><dependency><groupId>jfree</groupId><artifactId>jfreechart</artifactId><version>${jfreechart.version}</version></dependency><dependency><groupId>org.jfree</groupId><artifactId>jcommon</artifactId><version>${jcommon.version}</version></dependency><!-- Used for downloading data in some of the examples --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.3.5</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>org.datavec</groupId><artifactId>datavec-data-codec</artifactId><version>${dl4j-master.version}</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.2</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.16</version></dependency></dependencies></dependencyManagement>
</project>

子工程commons

  • 后面的实战中,我们常用到下载文件、绘图等功能,因此新增一个子工程,将下载绘图等功能对应的工具类都在这里面给其他工程使用
  • 在dl4j-tutorials下新增名为commons的子工程,其pom.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>dlfj-tutorials</artifactId><groupId>com.bolingcavalry</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>commons</artifactId><dependencies><dependency><groupId>org.datavec</groupId><artifactId>datavec-api</artifactId></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency><dependency><groupId>org.deeplearning4j</groupId><artifactId>deeplearning4j-core</artifactId></dependency><dependency><groupId>jfree</groupId><artifactId>jfreechart</artifactId></dependency></dependencies>
</project>
  • 目前commons子工程中有四个类,并非欣宸原创,而是来自DL4J的官方demo,其功能简介如下:
  1. DataUtilities:下载和解压指定地址对应的文件
  2. DownloaderUtility:DL4J为我们准备了丰富的数据集(例如150个鸢尾花数据,带标签),这些内容保存在云端(AZURE),通过DownloaderUtility可以很方便的下载和解压这些数据集
  3. PlotUtil:绘制二维图形
  4. VAEPlotUtil:绘制变分自编码图形
  • 上述四个类在工程中的位置如下图所示,限于篇幅就不贴出代码了,有需要的话请在github上获取:
  • 至此,准备工作就完成了,接下来的旅程会异常精彩,欣宸感谢您的一路相伴!

你不孤单,欣宸原创一路相伴

  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列

DL4J实战之一:准备相关推荐

  1. DL4J实战之二:鸢尾花分类

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<DL4J>实战的第二篇, ...

  2. DL4J实战之三:经典卷积实例(LeNet-5)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 作为<DL4J>实战的第三篇,目 ...

  3. dl4j学习参考文章

    顶级的深度学习框架比较:Deeplearning4j.Torch.Theano.TensorFlow.Caffe.Caffe2.Paddle.MxNet.Keras 和 CNTK - Deeplear ...

  4. 程序员欣宸的文章分类汇总

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于代码仓库 代码仓库里是博客中涉及的源码和文件,地址 ...

  5. 深度学习框架Deeplearning4j实战:文本智能抽取快速定位

    一.Deeplearning4j Deeplearning4j(简称DL4J)是基于java的一个深度学习框架,已经发布了1.0版本的beta版. 与其他深度学习框架相比,DL4J具有以下优点: 与S ...

  6. java深度学习框架Deeplearning4j实战(一)BP网络分类器

    1.Deeplearning4j 深度学习,人工智能今天已经成了IT界最流行的词,而tensorflow,phython又是研究深度学习神经网络的热门工具.tensorflow是google的出品,而 ...

  7. IDEA的Docker插件实战(Dockerfile篇)

    IDEA的Docker插件实战(Dockerfile篇) IntelliJ IDEA的Docker插件能帮助我们将当前工程制作成Docker镜像.运行在指定的远程机器上,是学习和开发阶段的好帮手,本文 ...

  8. 数据结构(04)— 线性顺序表实战

    1. 设计思路 本实战的实质是完成对学生成绩信息的建立.查找.插入.修改.删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运 ...

  9. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)

    置顶 本人决定将过去一段时间在公司以及日常生活中关于自然语言处理的相关技术积累,将在gitbook做一个简单分享,内容应该会很丰富,希望对你有所帮助,欢迎大家支持. 内容介绍如下 你是否曾经在租房时因 ...

最新文章

  1. effective c++
  2. 1.8正版生存服务器,我的世界1.8-1.16.5 qqof 生存服务器
  3. Zookeeper 入门
  4. 蚂蚁金服张洁:基于深度学习的支付宝人脸识别技术解秘-1
  5. C/Cpp / 设计模式 / 简单工厂模式
  6. 实战Kaggle比赛(1):树叶分类
  7. 【Git学习笔记6】把当前工作现场“储藏”起来:stash操作
  8. Linux使用笔记: 设置Samba服务器中新建文件/目录的权限
  9. 十大办法帮助传统产业数字化转型
  10. locust+httprunner+Jmeter QQ群微信群问题记录
  11. 字符常量参加表达式运算
  12. 论文-Knowledge Graph Grounded Goal Planning for Open-Domain Conversation Generation
  13. github配置SSH keys
  14. php图形验证码验证,php图片验证码代码
  15. 惠普暗夜精灵2怎么打开后盖_做工散热都非常优秀 惠普暗影精灵II笔记本拆机图解全过程...
  16. 面向对象的C++了解
  17. android google定位和地图
  18. mongodb 集群shard_MongoDBV3.0.7版本(shard+replica)集群的搭建及验证
  19. 用支持向量机解决蠓虫分类问题matlab,分类问题
  20. 最新主流大数据技术分类大全(持续更新)

热门文章

  1. 【Java基础系列教程】第二章 Java语言概述、配置环境变量
  2. 优思学院的六西格玛黑带 – 简易报名流程
  3. 实锤!Grin系中国媒体炒作,“硬核”都经不起推敲
  4. IBM的PBC ——通透的绩效管理文化
  5. 前端工程师需要哪些技能?
  6. java遍历map前n项_Java遍历Map的几种方式
  7. python找出矩阵中的最大值_Python例题:找到并输出矩阵中的最大值
  8. STM32+0.96OLED的多级菜单设计
  9. 【杂篇】书单(技术、文学、历史、经济、方法论等等)
  10. 云计算行业发展到底有多火?人才需求大吗?就业“钱”景好吗?