TensorLayer 帮助我们管理和提高开发效率的方法主要是通过以下四个模块来实现,这四个模块也即整个系统的架构。TensorLayer 可以基于这些模块实现整个开发过程和相应的功能,因此我们可以在这基础上利用编程语言实现各种不同的应用,如 GAN、超参数精调等。 2.1 层模块 层是神经网络的核心基元,TensorLayer 提供了一个包含大量参考层实现(比如 CNN、RNN、dropout、dropconnect、批归一化及其他)的层模块。该模块通过类似于 Lasagne [12] 那样的声明式方式堆叠层级而构建神经网络。每个层给定唯一的键值,帮助开发者在层之间实现细粒度参数共享。 2.2 模型模块 模型是独立功能单元的逻辑表示,可以在生产过程中被训练、评估和部署。每个模型都有独立的架构,具有可被保存、缓存和重新加载的不同版本或状态(即权重)。 2.3 数据集模块 数据集模块用于管理训练样本和预测结果。样本和结果以文档的形式存储在 MongoDB 中。每个文档包含一个单独的主键(key)、样本、标注和用户自定义标签。 2.4 工作流模块 工作流模块提供任务抽象,以启用容错异步训练。一个训练任务由 3 个元组分别识别:输入数据集键值(key)、模型键值和输出数据集键值。 原文链接:https://www.nextplatform.com/2017/08/01/managing-deep-learning-development-complexity/ (责任编辑:本港台直播) |