首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏专知

    【专知-Deeplearning4j深度学习教程02】用ND4J自己动手实现RBM: 图文+代码

    的矩阵运算库ND4J的使用,考虑到这是第二篇教程,因此还介绍了DL4J配置等内容,全文组织如下: Deeplearning4j的配置 ND4J简介及接口简介 RBM(受限玻尔兹曼机)简介 自己动手用ND4J ND4J简介 ND4J是深度学习框架Deeplearning4j的矩阵运算框架,Python的Numpy类似。ND4J不仅可以在CPU上运行,也可以在GPU上运行,具有较好的运算效率。 的详细教程可查看ND4J官网的一个教程:http://nd4j.org/userguide。 下面,我们用ND4J来自己实现一个RBM(受限玻尔兹曼机)。 RBM(受限玻尔兹曼机)简介 RBM是一个神经网络,只有一个可见层和一个隐藏层。 用ND4J实现RBM 下面代码中相关的公式可在维基百科的RBM词条中查看。

    2.6K100发布于 2018-04-09
  • 来自专栏AI研习社

    Java工程师转型AI的秘密法宝:深度学习框架Deeplearning4j | 回顾

    机器学习都需要依赖一个张量运算框架,对于DL4j,他依赖的是ND4j这样一个框架,libnd4j是ND4j调用的一个库。 ? Model Zoo 是官方给出的经典神经网络结构的实现。 DL4j所依赖的张量运算库ND4JND4j可当作JAVA 版的Numpy。 ? ND4j内存管理情况: ND4j利用了堆外内存和堆上内存两个部分的内存做相应的计算。 当用ND4j去声明一个具体的张量时候,是在堆外内存存储张量对象,堆上内存只存储张量对象的引用。 需要注意的是,用ND4j做神经网络的训练时,堆外内存一定要调的非常大,因为大量的工作都是在堆外内存做相应的张量运算。堆外内存要远远大于堆上内存。 ND4j具体例子,第一个是如何去创建一个张量,并且把这个张量在底层存储的顺序打印出来。 第二个是hadmard乘积实现。

    1.9K70发布于 2018-03-16
  • 来自专栏AI研习社

    Java 工程师转型 AI 的秘密法宝——深度学习框架 Deeplearning4j | 回顾

    机器学习都需要依赖一个张量运算框架,对于 DL4j,他依赖的是 ND4j 这样一个框架,libnd4j 是 ND4j 调用的一个库。 ? Model Zoo 是官方给出的经典神经网络结构的实现。 DL4j 所依赖的张量运算库 ND4JND4j 可当作 JAVA 版的 Numpy。 ? ND4j 内存管理情况: ND4j 利用了堆外内存和堆上内存两个部分的内存做相应的计算。 当用 ND4j 去声明一个具体的张量时候,是在堆外内存存储张量对象,堆上内存只存储张量对象的引用。 需要注意的是,用 ND4j 做神经网络的训练时,堆外内存一定要调的非常大,因为大量的工作都是在堆外内存做相应的张量运算。堆外内存要远远大于堆上内存。 ND4j 具体例子,第一个是如何去创建一个张量,并且把这个张量在底层存储的顺序打印出来。 第二个是 hadmard 乘积实现。

    1.4K40发布于 2018-03-16
  • 来自专栏AI研习社

    资深算法工程师万宫玺:Java 工程师转型 AI 的秘密法宝——深度学习框架 Deeplearning4j | 分享总结

    机器学习都需要依赖一个张量运算框架,对于 DL4j,他依赖的是 ND4j 这样一个框架,libnd4j 是 ND4j 调用的一个库。 ? Model Zoo 是官方给出的经典神经网络结构的实现。 DL4j 所依赖的张量运算库 ND4JND4j 可当作 JAVA 版的 Numpy。 ? ND4j 内存管理情况: ND4j 利用了堆外内存和堆上内存两个部分的内存做相应的计算。 当用 ND4j 去声明一个具体的张量时候,是在堆外内存存储张量对象,堆上内存只存储张量对象的引用。 需要注意的是,用 ND4j 做神经网络的训练时,堆外内存一定要调的非常大,因为大量的工作都是在堆外内存做相应的张量运算。堆外内存要远远大于堆上内存。 ND4j 具体例子,第一个是如何去创建一个张量,并且把这个张量在底层存储的顺序打印出来。 第二个是 hadmard 乘积实现。

    1.2K100发布于 2018-03-16
  • 来自专栏专知

    【专知-Deeplearning4j深度学习教程01】分布式Java开源深度学习框架DL4j安装使用: 图文+代码

    Deeplearning4j开发环境配置 ND4J(DL4J的矩阵运算库)教程 基于DL4J的CNN、AutoEncoder、RNN、Word2Vec等模型的实现 简介 Deeplearning4j是由 类似Python的Pandas组件 ND4J: 科学计算组件,主要是矩阵运算(支持CPU和GPU)。类似Python的numpy。 org.deeplearning4j/deeplearning4j-core ndj4(CPU版): https://mvnrepository.com/artifact/org.nd4j/nd4j-native nd4j

    2.3K90发布于 2018-04-09
  • 来自专栏CSDN技术头条

    让 Java 开发人员在机器学习领域披荆斩棘

    Deeplearning4j 生态圈中除了深度神经网络这个核心框架以外,还包括像 DataVec、ND4J、RL4J 等一些非常实用的子项目。 ND4J 加速张量运算 JVM 的执行速度一直为人所诟病。 鉴于 JVM 自身的局限性,Deeplearning4j 的张量运算通过 ND4J 在堆外内存(Off-Heap Memory/Direct Memory)上进行。 就 Skymind 官方发布的信息看,在美国有像 IBM、埃森哲、NASA 喷气推进实验室等多家明星企业和实验机构,在使用 Deeplearning4j 或者其生态圈中的项目,如 ND4J

    1K10发布于 2019-11-19
  • 来自专栏智能大数据分析

    【大数据分析 | 深度学习】在Hadoop上实现分布式深度学习

    其内部采用 Java N 维数组实现的库即 ND4J (N-Dimensional Arrays For Java),处理多样的 n 维数组对象。 ND4J 支持 GPU 计算,有助于加快深度学习迭代训练速度。ND4J 实际就是一个科学计算库,属于低阶 API,而 DL4J 属于高阶 API,类似 Keras。 DL4J 中除了 ND4J 外,还有 DataVec (用于数据集的加载和转换),SameDiff (基于图的自动微分、深度学习框架),Arbiter (超参数搜索),LibND4J (底层 C++库, ND4J 通过这些库共同支撑基于 JVM 的深度学习应用程序的所有需求。 DL4J 将数据集处理与算法模型训练分开处理,使用 DataVec 库加载和转换数据集,使用张量和 ND4J 库训练模型。 通过 DataVec 库的 RecordReaderDataSetIterator 获取数据,ND4J 库的 DataSet (存储数据特征和标签的容器) 对训练数据进行封装,可以封装单条训练数据,也可以封装一个

    50600编辑于 2025-01-22
  • 来自专栏实战docker

    DL4J实战之四:经典卷积实例(GPU版本)

    咱们先去中央仓库看看DL4J核心库的版本情况,如下图,最新的版本已经到了1.0.0-M1: 再看看CUDA 9.1对应的nd4j库的版本情况,如下图红框,最新的是2018年的1.0.0-beta,与核心库差距太大了 : 好了,再来看看CUDA 9.2对应的nd4j库的版本情况,如下图红框,最新的是1.0.0-beta6,与核心库差两个版本,因此,建议使用CUDA 9.2: 使用GPU的具体操作步骤 使用CPU还是 org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner - Blas vendor: [CUBLAS] 13:27:08.300 [main] INFO org.nd4j.linalg.jcublas.JCublasBackend - ND4J

    49720编辑于 2021-12-07
  • 来自专栏用户2442861的专栏

    DL4J与Torch、Theano、Caffe、TensorFlow的比较

    Deeplearning4j和ND4J采用Apache 2.0许可协议发布。 速度 Deeplearning4j依靠ND4J进行基础的线性代数运算,事实表明其处理大矩阵乘法的速度至少是NumPy的两倍。这正是DL4J被NASA的喷气推进实验室所采用的原因之一。 第三,为了解决Java缺少强大的科学计算库的问题,我们编写了ND4JND4J在分布式CPU或GPU上运行,可以通过Java或Scala的API进行对接。 Scala 我们在打造 Deeplearning4j 和 ND4J 的过程中特别关注Scala,因为我们认为Scala具有成为数据科学主导语言的潜力。

    2.4K20发布于 2018-09-19
  • 来自专栏along的开发之旅

    从源码看DL4J中Native BLAS的加载,以及配置

    jniloader6882206374132167742netlib-native_ref-win-x86_64.dll WARNING: COULD NOT LOAD NATIVE SYSTEM BLAS ND4J 查了github,stackoverflow,quora等,找到了如下网页.github的是一个遇到类似问题的人抱怨native blas难以配置,害的自己在源码中才找到解决方法,而nd4j的程序员回答所有的深度学习框架中的 native blas都是难配置的,我在搜索的时候也发现了MLib等库确实也会报这个警告.第二个博客是一篇讲述如何配置blas的文章. https://github.com/deeplearning4j/nd4j 都放在Java识别的路径下,是不是就可以解决这个问题了. 1.dll的存放路径和名称 先看DL4J的源码,错误首先出现在如下代码中 Nd4j.getRandom().setSeed(seed); 进入Nd4j 接下来,我还需要知道这个dll要放在哪里,才能被nd4j代码找到!

    1.6K30发布于 2018-08-02
  • 来自专栏java一日一条

    GitHub上那些值得一试的Java开源库

    ND4J – 科学计算 ND4J是一个开源的数值计算扩展 ,它将 Python中著名的numpy库的很多特性带到了Java中。ND4J可以用来存储和处理大型多维矩阵。 ND4J主要包括了:一个强大的N维数组对象Array,比较成熟的函数库;实用的线性代数、傅里叶变换和随机数生成函数等。它可以与Hadoop或者Spark这样的工具整合使用。 ?

    1.3K20发布于 2018-09-18
  • 来自专栏新智元

    开源深度学习平台 TensorFlow、Caffe、MXNet……哪个最适合你

    Deeplearning4j 和 ND4J 采用 Apache 2.0 许可协议发布。 速度 Deeplearning4j 依靠 ND4J 进行基础的线性代数运算,事实表明其处理大矩阵乘法的速度至少是 NumPy 的两倍。这正是 DL4J 被 NASA 的喷气推进实验室所采用的原因之一。 第三,为了解决 Java 缺少强大的科学计算库的问题,我们编写了 ND4JND4J 在分布式CPU 或 GPU 上运行,可以通过 Java 或 Scala 的 API 进行对接。 DL4S:基于 Scala 语言的深度学习 我们在打造 Deeplearning4j 和 ND4J 的过程中特别关注 Scala,因为我们认为 Scala 具有成为数据科学主导语言的潜力。

    5.1K60发布于 2018-03-26
  • 来自专栏实战docker

    三分钟体验:SpringBoot用深度学习模型识别数字

    58.399 WARN 1 --- [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : Warning: Initializing ND4J 2021-06-29 10:51:58.399 WARN 1 --- [ main] o.n.l.cpu.nativecpu.CpuNDArrayFactory : Using ND4J

    67840编辑于 2021-12-07
  • 来自专栏人工智能头条

    干货好文 | 深度学习是如何在美团点评推荐业务中实践的?

    为了解决 Java 缺少强大的科学计算库的问题,DL4J 开发者编写了 ND4J 这个库。ND4J 在 Java 中的角色类似于 numpy 在 Python 中的角色。 与 Java 循环相比,使用 ND4J 进行矩阵运算的速度大大提升,主要原因是 ND4J 底层调用了 BLAS(numpy 也是)。

    1.1K21发布于 2020-05-06
  • 来自专栏专知

    【下载】JAVA程序员深度学习实用指引《Deep Learning: Practical Neural Networks》

    5.探索JAVA深度学习库-DL4J, ND4J ---- ? ? 6.实战应用-RNN ---- ? 7.其他重要的深度学习库 ---- ? 8.未来展望 ---- ?

    830120发布于 2018-04-11
  • 来自专栏从0开始学Go

    你听说过 DeepLearning4J吗 · 属于我们Java Coder深度学习框架

    ND4J:一个通用的线性代数库,拥有超过 500 个数学、线性代数和深度学习操作,基于高度优化的 C++ 代码库 LibND4J,支持 CPU 和 GPU 加速。 SameDiff:ND4J 库的一部分,作为自动微分和深度学习框架,使用图形方式(先定义后运行)类似 TensorFlow 的图模式,并计划支持动态图执行(类似 TensorFlow 2.x 的动态模式和 -- ND4J:用于数值计算的底层库 --> <dependency> <groupId>org.nd4j</groupId>   <artifactId>nd4j-native-platform 引入相关的DeepLearning4J和ND4J类库这些是程序所用到的DeepLearning4J和ND4J(数值计算库)相关的类库。它们提供了用于构建、训练和评估深度神经网络的工具。

    3.3K20编辑于 2025-01-16
  • 来自专栏用户2276240的专栏(5)

    PCA(主成分分析)进行特征降维定义及java实现例子

    因此,我们通常使用外部库(如Apache Commons Math、EJML、ND4J等)来实现PCA。

    39610编辑于 2025-04-05
  • t-SNE 是一位“数据魔术师”,能将高维空间中的复杂关系,折叠成低维世界直观可见的星图,让原本混沌的数据星河浮现出清晰的星座结构。

    高维空间:用高斯分布衡量点间相似性(保留局部结构) 低维空间:用t分布衡量点间距离(避免拥挤问题) 目标:最小化两个空间概率分布的KL散度 动态学习过程 ⚡ Java示例(简化版,使用ND4J

    23010编辑于 2025-10-14
  • 来自专栏超级架构师

    「数据分析」精选数据挖掘和机器学习软件列表

    software) Massive Online Analysis MATLAB MeeMix Megvii Microsoft Cognitive Toolkit ML.NET Mlpack Mlpy N ND4J

    1.1K30发布于 2020-09-01
  • 来自专栏超级架构师

    「首席架构师推荐」精选数据挖掘和机器学习软件列表

    software) Massive Online Analysis MATLAB MeeMix Megvii Microsoft Cognitive Toolkit ML.NET Mlpack Mlpy N ND4J

    87430发布于 2019-09-30
领券