Deeplearning4j
Community ForumND4J JavadocDL4J Javadoc
ZH 1.0.0-beta6
ZH 1.0.0-beta6
  • 核心概念
  • 开始
    • 快速入门
    • 速查表
    • 示例教程
    • 初学者
    • Eclipse贡献者
    • 从源码构建
    • 贡献
    • 基准测试准则
    • 关于
    • 发行说明
  • 配置
    • GPU/CPU设置
    • CPU 与 AVX
    • 内存管理
    • Maven
    • SBT/Gradle和其它构建工具
    • cuDNN
    • 快照
    • 内存工作间
  • ND4J
    • 快速入门
    • 概述
  • SAMEDIFF
    • 变量
    • 操作
    • 添加操作
  • 调优与训练
    • 故障排查
    • 可视化
    • 评估
    • 迁移学习
    • 早停
    • T-SNE数据可视化
  • 分布式深度学习
    • 介绍与入门
    • 在Spark上使用DL4J:操作指南
    • 技术说明
    • Spark数据管道指南
    • API参考
    • 参数服务器
  • Keras导入
    • 概述
    • 入门
    • 支持功能
      • 正则化器
      • 损失
      • 初始化器
      • 约束
      • 激活
      • 优化器
    • Functional模型
    • Sequential模型
  • ARBITER
    • 概述
    • 层空间
    • 参数空间
  • DATAVEC
    • 概述
    • 记录
    • 概要
    • 序列化
    • 转换
    • 分析
    • 读取器
    • 执行器
    • 过滤器
    • 运算
  • 语言处理
    • 概述
    • Word2Vec
    • Doc2Vec
    • SentenceIterator
    • Tokenization
    • Vocabulary Cache
  • 模型
    • 计算图
    • 多层网络
    • 循环神经网络
    • 层
    • 顶点
    • 迭代器
    • 监听器
    • 自定义层
    • 模型持久化
    • 动物园用法
    • 激活
    • 更新器
  • 移动端
    • Android概述
    • Android先决条件
    • Android分类器
    • Android图片分类器
  • FAQ
  • 新闻
  • 支持
  • 为什么要深度学习?
Powered by GitBook
On this page

Was this helpful?

Edit on Git
Export as PDF
  1. 配置

cuDNN

在 DL4J中使用NVIDIA cuDNN 库

与cuDNN一起使用DL4J

DL4J支持CUDA,但可以进一步通过cuDNN加速。大多数2D 卷积神经网络层(如ConvolutionLayer、SubsamplingLayer等),以及LSTM和BatchNormalization层都支持cuDNN。

要让DL4J加载cuDNN,我们只需要添加一个依赖项deeplearning4j-cuda-9.2, deeplearning4j-cuda-10.0, 或 deeplearning4j-cuda-10.1, 例如 :

<dependency>
    <groupId>org.deeplearning4j</groupId>
    <artifactId>deeplearning4j-cuda-9.2</artifactId>
    <version>1.0.0-beta6</version>
</dependency>

或

<dependency>
    <groupId>org.deeplearning4j</groupId>
    <artifactId>deeplearning4j-cuda-10.0</artifactId>
    <version>1.0.0-beta6</version>
</dependency>

或

<dependency>
    <groupId>org.deeplearning4j</groupId>
    <artifactId>deeplearning4j-cuda-10.1</artifactId>
    <version>1.0.0-beta6</version>
</dependency>

cuDNN的实际库没有捆绑,因此请确保从NVIDIA下载并安装适合你的平台的包

注意cuDNN和CUDA有多个组合被支持。当前,DL4J的支持下面的组合:

CUDA 版本

cuDNN 版本

9.2

7.2

10.0

7.4

10.1

7.6

10.2

7.6

要安装,只需将库提取到本地库使用的系统路径中找到的目录即可。最简单的方法是将它放在默认目录中的CUDA之外的其他库中。 (/usr/local/cuda/lib64/ 在 Linux上, /usr/local/cuda/lib/ 在 Mac OS X, 并且 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\, 或 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\ 在 Windows上)。

<dependency>
     <groupId>org.bytedeco</groupId>
     <artifactId>cuda-platform-redist</artifactId>
     <version>10.2-7.6-1.5.2</version>
 </dependency>
    // 对于整个网络
    new NeuralNetConfiguration.Builder()
            .cudnnAlgoMode(ConvolutionLayer.AlgoMode.NO_WORKSPACE)
            // ...
    // 或对于单个层
    new ConvolutionLayer.Builder(h, w)
            .cudnnAlgoMode(ConvolutionLayer.AlgoMode.NO_WORKSPACE)
            // ...
PreviousSBT/Gradle和其它构建工具Next快照

Last updated 5 years ago

Was this helpful?

或者,对于CUDA 9.2,cuDNN与 的“redist”包捆绑在一起。在之后,我们可以添加以下依赖项,来取代安装CUDA和cuDNN:

还要注意,默认情况下,DL4j将使用根据cuDNN可用的最快算法,但是内存使用可能溢出,导致奇怪的启动错误。当这种情况发生时,尝试通过使用来减少内存使用, 替换默认的ConvolutionLayer.AlgoMode.PREFER_FASTEST,例如:

NVIDIA cuDNN
用于CUDA的JavaCPP Presets
同意许可
通过网络配置设置的NO_WORKSPACE模式