当前位置:首页 > AI技术 > 正文内容

DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装

admin7个月前 (03-27)AI技术195

,与Hadoop和Spark集成。Skymind是Deeplearning4j的商业支持机构。

Deeplearning4j是开源项目,主要由位于旧金山的一支机器学习团队开发,团队由Adam Gibson领导。Deeplearning4j是谷歌Word2vec页面上列出的唯一一个在Java环境下实施Word2vec的开源项目。

Java虚拟机中的科学计算。Deeplearning4j包括使用ND4J的N维数组类,可在Java和Scala中进行科学计算,

类似于Numpy为Python提供的功能

。其基础是线性代数库,可有效支持生产环境中的矩阵操作。

Deeplearning4j已经用于多项商业和科研应用。其代码由GitHub托管,并在谷歌小组上设有支持论坛。

DL4J 生态系统中的所有项目都支持 Windows、Linux 和 macOS

。硬件支持包括 CUDA GPU(10.0、10.1、10.2,OSX 除外)、x86 CPU(x86_64、avx2、avx512)、ARM CPU(arm、arm64、armhf)和 PowerPC(ppc64le)。

https://github.com/deeplearning4j

https://github.com/deeplearning4j/deeplearning4j

Deeplearning4j Suite Overview - Deeplearning4j

Deeplearning4j

:因为Deeplearning4J运行在JVM上,所以除了Java之外,您还可以将它与各种基于JVM的语言一起使用,比如Scala、Kotlin、Clojure等等。Deeplearning4j基于广泛使用的编程语言Java——但同时也兼容Clojure,并且包括Scala的API。它由自有的

开源数值计算库ND4J驱动

,可使用CPU或GPU运行。

:这一框架是可组合的,即受限玻尔兹曼机、卷积网络、自动编码器、递归网络等浅层神经网络可以相互叠加,组合成不同类型的深度网络。

:Deeplearning4j的定型以集群进行。神经网络通过迭代化简平行定型,可以在Hadoop/YARN以及Spark上运行。Deeplearning4j还与Cuda内核集成,进行纯GPU操作,可使用分布式GPU运行。

用于机器学习的Canova向量化库

:Canova可将各类文件格式和数据类型向量化,所用的输入/输出格式系统近似于Hadoop的MapReduce。Canova目前仍在开发中,设计目标是实现CSV、图像、声音、文本和视频的向量化。Canova可以从命令行使用。 版本0.4.0之后,Canova库已合并到 DataVec当中。

:用于构建具有各种层(包括自定义层)的多层网络和计算图的高级 API。支持从 h5 导入 Keras 模型,包括 tf.keras 模型(截至 1.0.0-beta7),还支持在 Apache Spark 上进行

:通用线性代数库,包含

超过 500 种数学、线性代数和深度学习运算

。 ND4J 基于高度优化的 C++ 代码库 LibND4J,通过 OpenBLAS、OneDNN (MKL-DNN)、cuDNN、cuBLAS 等库

(AVX2/512) 和 GPU (CUDA)

: 作为ND4J 库的一部分,SameDiff 是我们的自动微分/深度学习框架。 SameDiff 使用基于图形(定义然后运行)的方法,

类似于 TensorFlow 图形模式

。 Eager graph (TensorFlow 2.x eager/PyTorch) 图执行计划。 SameDiff 支持导入 TensorFlow 冻结模型格式 .pb (protobuf) 模型。计划导入 ONNX、TensorFlow SavedModel 和 Keras 模型。 Deeplearning4j 还具有完整的 SameDiff 支持,可以轻

松编写自定义层和损失函数

:用于各种格式和文件(HDFS、Spark、图像、视频、音频、CSV、Excel 等)的

机器学习数据的 ETL

:支撑一切的 C++ 库。有关 JVM 如何访问本机数组和操作的更多信息,请参阅 JavaCPP;

深度学习框架Deeplearning4j的安装

git clone https://github.com/eclipse/deeplearning4j

Java(开发者版7或更新版本(仅支持64位版本)

Apache Maven

IntelliJ IDEA(建议)或Eclipse

深度学习框架Deeplearning4j的简使用方法

Deeplearning4J

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()

.seed(seed)

.l2(0.0005)

.weightInit(WeightInit.XAVIER)

.updater(new Adam(1e-3))

.layer(new ConvolutionLayer.Builder(5, 5)

.stride(1,1)

.activation(Activation.IDENTITY)

.layer(new SubsamplingLayer.Builder(PoolingType.MAX)

.kernelSize(2,2)

.stride(2,2)

.layer(new ConvolutionLayer.Builder(5, 5)

.stride(1,1)

.activation(Activation.IDENTITY)

.layer(new SubsamplingLayer.Builder(PoolingType.MAX)

.kernelSize(2,2)

.stride(2,2)

.layer(new DenseLayer.Builder().activation(Activation.RELU)

.nOut(500).build())

.layer(new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)

.nOut(outputNum)

.activation(Activation.SOFTMAX)

.setInputType(InputType.convolutionalFlat(28,28,1))

相关文章

【DL】2023年你应该知道的 10 大深度学习算法

3. 循环神经网络 (RNN) 4. 生成对抗网络 (GAN) 5. 径向基函数网络 (RBFN) 6. 多层感知器 (MLP) 7. 自组织图 (SOM)...

神经网络分类总结

从网络性能角度可分为连续型与离散型网络、确定性与随机性网络。 从网络结构角度可为前向网络与反馈网络。 从学习方式角度可分为有导师学习网络和无导师学习网络。 按连续突触性...

推荐10个AI人工智能技术网站

除了研究和开发人工智能技术,OpenAI还积极参与人工智能伦理和安全的研究和探讨。 认为,人工智能技术的发展必须遵循伦理和法律的规范,以确保人工智能的应用不会对人类带来负面影响。...

深入理解优化:如何利用 Gemini 3.1 的阶梯计费策略?企业级大规模调用实务完全指南|Duuu笔记

需深入理解Gemini 3.1阶梯计费与调用联动关系,通过识别阶梯区间、请求级Token预估截断、多模型路由调度、响应缓存去重、项目拆分配额绑定五种路径优化成本。 ☞☞☞AI 智能聊天, 问答助手,...

前端开发实战详解:骡子快跑怎么注册账号 骡子快跑账号注册流程最佳实践|Duuu笔记

骡子快跑注册仅需1分钟,但激活码需从Discord指定频道获取,输错3次将锁账户24小时;积分与注册邮箱强绑定且不可更换;部分地区即使注册成功也无法运行Agent。 ☞☞☞AI 智能聊天, 问答助手...

从入门到精通:前端开发之骡子快跑支持热点借势吗 骡子快跑节日营销文案生成|Duuu笔记

骡子快跑平台提供五步节日营销文案生成路径:一、调用内置32个节日模板库;二、输入热点事件触发动态生成;三、绑定自有素材库实现个性化延展;四、多角色视角协同输出;五、接入微信生态直发并校验合规性。 ☞...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。