文档章节

Java分布式神经网络库Deeplearning4j 环境搭建和运行一个例子

小帅帅丶
 小帅帅丶
发布于 2017/08/21 11:47
字数 1110
阅读 3662
收藏 63

DeeplearningforJava简单介绍:

deeplearning4j是一个Apache 2.0-licensed,开源的,分布式神经网络库编写的java和Scala。

主要模块:

datavec(数据载体)

用于将图像、文本和CSV数据转换成适合于深入学习的格式的库

nn(结构) 神经网络结构设计的核心神经网络结构多层网络和计算图
core 附加的功能建立在deeplearning4j NN
modelimport (模型导入) 加入Keras框架功能
nlp(自然语言处理) 包括vectorizers,模型的自然语言处理组件,样本数据集和渲染
scaleout(拓展功能) spark  、parallel-wraper 、aws
ui 可视化界面
  • 准备好jdk环境,maven环境,git环境,开发工具

开发工具 IntelliJ IDEA (建议)或 Eclipse
JDK 1.8 (仅支持64位版本)
MAVEN 最低不低于3.3.1
GIT 最新即可
  • 通过cmd输入git命令下载dl4j-examples项目并进行编译

                 

  • 进入dl4j-examples目录
 cd dl4j-examples/
  • maven编译项目 有可能需要执行多次
mvn clean install
  • 如果需要编译所有的项目。我在百度云上传了一份代码及文件(不包含maven库)
链接: https://pan.baidu.com/s/1bfqiNDfxkX4eUQH7ZpjDPQ 密码: 897e
  • 为了方便测试快速搭建。先注释了CUDA模块的加载。

  • 全部下载完如下图所示。下图是在家里自己的电脑上操作的(家里网速快些)

  • 编译完成导入到Intellij里面-9个截图

  1. 选择导入一个项目                    
  2. 找到项目径                                                                                                   
  3. 下一步默认选项                                                                                             
  4. 选中maven                                                                    
  5. 默认不选中jfx下一步                                                                              
  6. 添加一个JDK                                                                                 
  7. 找到1.8安装目录并选中                                          
  8. 选中项目                                                                                                 
  9. 给一个项目名称 默认即可                                                                           

后来是重新导入最后一步弹出窗可以忽略

运行一个例子看看

官网入门指南:https://deeplearning4j.org/cn/quickstart

示例绘画蒙娜丽莎画像

结束语:

至此搭建dl4j,并跑一个demo完成。开发工具的jdk环境maven环境这里不做配置说明。这个百度经验可以看到很多教程的。入门指南并不难。后续训练自己的人脸检测,NLP,OCR这个就需要大家自己去细心研究了。鄙人也会试着训练相关数据。

个人小程序有关于百度人脸检测和腾讯优图人脸检测的功能,可以扫码看看哦。

Deeplearning4j 例子示例

需要了解的名词:

Precision:精确率

Recall:召回率

Accuracy:准确率

F1 Score:F1分数

计算公式:

precision = TP / (TP + FP)
recall = TP / (TP + FN)
accuracy = (TP + TN) / (TP + FP + TN + FN)
F1 Score = P*R/2(P+R),其中P和R分别为 precision 和 recall

需要知道的TP、FP、TN、FN

- TP,True Positive
- FP,False Positive
- TN,True Negative
- FN,False Negative

大概意思是  真正 假正   真负 假负
例如:
举个简单的二元分类问题 例子:

假设,我们要对某一封邮件做出一个判定,判定这封邮件是垃圾邮件、还是这封邮件不是垃圾邮件?

如果判定是垃圾邮件,那就是做出(Positive)的判定;
如果判定不是垃圾邮件,那就做出(Negative)的判定。

True Positive(TP)意思表示做出Positive的判定,而且判定是正确的。因此,TP的数值表示正确的Positive判定的个数。
同理,False Positive(TP)数值表示错误的Positive判定的个数。
依此,True Negative(TN)数值表示正确的Negative判定个数。
False Negative(FN)数值表示错误的Negative判定个数。
原文链接:http://blog.csdn.net/simplelovecs/article/details/50520602

训练seed不同。精准,准确,召回的分数如下

有可能需要训练数据。不知道怎么找的。在我的百度云下载吧

链接: http://pan.baidu.com/s/1geNrvGn 密码: 8bkw

12345

123

Java分布式神经网络库Deeplearning4j之上手实践手写数字图像识别与模型训练

© 著作权归作者所有

共有 人打赏支持
小帅帅丶

小帅帅丶

粉丝 498
博文 93
码字总数 118342
作品 2
北京
后端工程师
私信 提问
加载中

评论(1)

tianxia007
tianxia007
666
开发者必备:基于 Linux 生态的十大AI开源框架盘

本文将从开发者的角度出发,特别是针对开发者中为数众多的Linux系统和Mac系统用户,奉上一篇针对泛Linux生态的顶级人工智能开源工具盘点(当然,有些工具也并非只兼容Linux)。 1. Deeplearn...

两味真火
2017/01/15
4.2K
6
Java调用Keras、Tensorflow模型

实现python离线训练模型,Java在线预测部署。查看原文 目前深度学习主流使用python训练自己的模型,有非常多的框架提供了能快速搭建神经网络的功能,其中Keras提供了high-level的语法,底层可...

ioiogoo
04/03
0
0
25 个 Java 机器学习工具和库

本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法。这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用。Weka包括一系列的工具,如数据预处理...

oschina
2015/12/28
11.7K
11
Deeplearning4j —— 分布式深度学习库

Deeplearning4j(简称DL4J)是为Java和Scala编写的首个商业级开源分布式深度学习库。DL4J与Hadoop和Spark集成,为商业环境(而非研究工具目的)所设计。Skymind是DL4J的商业支持机构。 Deep...

oschina
2016/04/22
10
0
centos7 yum安装java运行环境,初识hadoop

安装java运行环境 1.实验机相关信息: [root@node2 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@node2 ~]# uname -r 3.10.0-327.el7.x86_6 2.配置epel源,以y......

smile68
04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

进程管理利器Supervisor--centos7下安装与卸载

目录 概述 环境准备 检查python环境 在线安装 配置Supervisor 启动并验证 概述 Supervisor的安装可以有在线安装和离线安装两种方式。安装方式取决于服务器是否联网,联网的话可采用在线安装,...

java_龙
11分钟前
2
0
spring系列汇总

spring spring-基于可扩展Schema的特性自定义标签 springmvc-同一个访问资源,多种视图解析方式 spring cache 配置使用aspectj模式织入 基于注解的spring缓存,轻松无侵入解决cache问题 spri...

细肉云吞
12分钟前
1
0
vsftpd搭建ftp

12月10日任务 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp exportfs命令 在nfs运行后的一段时间内,如果需要添加共享目录,这时需要修改exports文件,并...

robertt15
14分钟前
2
0
numpy常用操作

水平合并数组 import numpy as npa = [1,2,3]b = [4,5,6]np.hstack((a,b))# array([1, 2, 3, 4, 5, 6])c = [a,['a','b','c']]d = [b,['d','e','f']]np.hstack((c,d))#array([['1'......

datadev_sh
31分钟前
4
0
四种检测异常值的常用技术简述

摘要: 本文介绍了异常值检测的常见四种方法,分别为Numeric Outlier、Z-Score、DBSCAN以及Isolation Forest 在训练机器学习算法或应用统计技术时,错误值或异常值可能是一个严重的问题,它们...

阿里云官方博客
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部