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. 模型

自定义层

为自定义层扩展DL4J功能。

编写自定义层

有两个组件可添加自定义层:

  1. 添加层配置类: 扩展 org.deeplearning4j.nn.conf.layers.Layer

  2. 添加层实现类: 实现 org.deeplearning4j.nn.api.Layer

配置层(以上(1))类处理设置。这是你在构建多层网络或计算图时所使用的方法。你可以在这里添加自定义设置,并在你的图层中使用这些设置。

实现层(以上(2))类具有参数,并处理网络前向传播、反向传播等。它是从org.deeplearning4j.nn.conf.layers.Layer.instantiate(…)方法创建的。换句话说:instanceiate方法是我们从配置到实现的方式;MultiLayerNetwork或ComputationGraph在初始化的时候调用。

其中的一个例子是CustomLayer(配置类)和CustomLayerImpl(实现类)。这两类都对它们的方法有广泛的注释。

你将注意到,在DL4J中有两个DenseLayer 类 、两个GravesLSTM类等:原因在于一个用于配置,一个用于实现。我们没有遵循这个“同名”模式,希望避免混淆。

测试自定义层

一旦添加了自定义层,就需要运行一些测试来确保它是正确的。

这些测试至少应包括以下内容:

  1. 测试以确保JSON配置(到/从JSON)正常工作,这对于你的自定义层与模型序列化(保存)和Spark训练都起作用的网络来说是必要的。

  2. 梯度检查,以确保执行是正确的。

示例

Previous监听器Next模型持久化

Last updated 5 years ago

Was this helpful?

我们提供了一个完整的自定义层示例。在我们的 中。

示例仓库