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

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库)
链接: http://pan.baidu.com/s/1hrNViN6 密码: t89u
  • 为了方便测试快速搭建。先注释了CUDA模块的加载。
  • 全部下载完如下图所示。下图是在家里自己的电脑上操作的(家里网速快些)
  • 编译完成导入到Intellij里面-9个截图
  1. 选择导入一个项目                    
  1. 找到项目径                                                                                           
  1. 下一步默认选项                                                                                             
  1. 选中maven                                                                    
  1. 默认不选中jfx下一步                                                                              
  1. 添加一个JDK                                                                                 
  1. 找到1.8安装目录并选中                                          
  1. 选中项目                                                                                                 
  1. 给一个项目名称 默认即可                                                                           

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

运行一个例子看看

官网入门指南: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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

重磅消息 | 深度学习框架竞争激烈 TensorFlow也支持动态计算图

今晨 Google 官方发布消息,称 TensorFlow 支持动态计算图。 原文如下: 在大部分的机器学习中,用来训练和分析的数据需要经过一个预处理过程,输入...

2735
来自专栏AI研习社

Github 项目推荐 | 用 JavaScript 实现的神经网络 —— brain.js

不过,一般的开发者应该都不会用神经网络来实现异或的功能吧,所以这里有一个更加实际的例子:训练一个神经网络来识别颜色对比 https://brain.js.org...

1622
来自专栏量化投资与机器学习

深度学习项目

Github上比较受欢迎的深度学习项目(Top Deep Learning Projects),按照获得星星个数的排名,包括一些教程项目等。 ? ? ? ?

2026
来自专栏ATYUN订阅号

将Keras权值保存为动画视频,更好地了解模型是如何学习的

将Keras权值矩阵保存为简短的动画视频,从而更好地理解你的神经网络模型是如何学习的。下面是第一个LSTM层的例子,以及一个经过一个学习周期训练的6级RNN模型...

3674
来自专栏CDA数据分析师

谷歌教你学 AI-第四讲部署预测模型

翻译/校对: Mika 本文为 CDA 数据分析师原创作品,转载需授权 Google Cloud发布了名为"AI Adventures"的系列视频,用简单易懂的...

2666
来自专栏机器学习和数学

[Tensorflow] Tensorflow中模型保存与回收的简单总结

今天要聊得是怎么利用TensorFlow来保存我们的模型文件,以及模型文件的回收(读取)。刚开始接触TensorFlow的时候,没在意模型文件的使用,只要能...

3628
来自专栏新智元

【代码+教程】重现“世界模型”实验,无监督方式快速训练

1242
来自专栏数据的力量

excel双坐标图表的做法(两个Y轴)

所谓双坐标图表,就是左右各一个Y轴,分别显示不同系列的数值。该图表主要用于两个系列数值差异较大的情况。如下例。

1522
来自专栏Python小屋

几行Python代码生成饭店营业额模拟数据并保存为CSV文件

CSV文件是一种通用的、简单的文件格式,以纯文本形式存储表格数据(数字和文本),在多个领域都有广泛应用,经常用来在不同程序之间交换数据。 下面的代码使用Pyth...

4139
来自专栏PPV课数据科学社区

TensorFlow必知基础知识​

TensorFlow概要 Google第一代分布式机器学习框架DistBelief1,在内部大规模使用后并没有选择开源。而后第二代分布式机器学习系统Tenso...

4346

扫码关注云+社区

领取腾讯云代金券