MXNet 深度学习实战 (32):MXNet 基础 3.4

阅读数:20 2019 年 12 月 28 日 22:58

MXNet深度学习实战(32):MXNet基础 3.4

(本章小结)

内容简介
本书分为四大部分:
第一部分为准备篇(第 1~2 章),简单介绍深度学习相关的基础背景知识、深度学习框架 MXNet 的发展过程和优缺点,同时介绍基础开发环境的构建和 docker 的使用,帮助读者构建必要的基础知识背景。
第二部分为基础篇(第 3~7 章),介绍 MXNet 的几个主要模块,介绍 MXNet 的数据读取、数据增强操作,同时介绍了常用网络层的含义及使用方法、常见网络结构的设计思想,以及介绍模型训练相关的参数配置。
第三部分为实战篇(第 8~10 章),以图像分类、目标检测和图像分割这三个常用领域为例介绍如何通过 MXNet 实现算法训练和模型测试,同时还将结合 MXNet 的接口详细介绍算法细节内容。
第四部分为扩展篇(第 11~12 章),主要介绍 Gluon 和 GluonCV。Gluon 接口是 MXNet 推出的用于动态构建网络结构的重要接口,GluonCV 则是一个专门为计算机视觉任务服务的深度学习库。

本章主要介绍了 MXNet 框架中最常用到的三个模块:NDArray、Symbol 和 Module,对比了三者之间的联系并通过简单的代码对这三个模块的使用有了大致的认识。

NDArray 是 MXNet 框架中最基础的数据结构,借鉴了 NumPy 中 array 的思想且能在 GPU 上运行,同时采取命令式编程的 NDArray 在代码调试上非常灵活。NDArray 提供了与 NumPy array 相似的方法及属性,因此熟悉 NumPy array 的用户应该能够很快上手 NDArray 的操作,而且二者之间的转换也非常方便。

Symbol 是 MXNet 框架中定义网络结构层的接口,采取符号式编程的 Symbol 通过构建静态计算图可以大大提高模型训练的效率。Symbol 中提供了多种方法用于查看 Symbol 对象的信息,包括参数层、参数维度等,同时也便于用户在设计网络结构的过程中查漏补缺。此外,Symbol 中的大部分网络层接口在 NDArray 中都有对应的实现,因此可以通过 NDArray 中对应名称的网络层查看具体的计算过程。

Module 是 MXNet 框架中封装了训练模型所需的大部分操作的高级接口,用户可以通过 Module 模块执行 bind 操作、参数初始化、优化器初始化、模型的前向计算、损失函数的反向传播、网络参数更新、评价指标计算等,同时,Module 模块还将常用的训练操作封装在了 fit() 方法中,通过该方法,用户可以更加方便地训练模型,可以说是既灵活又简便。

MXNet深度学习实战(32):MXNet基础 3.4

购书地址 https://item.jd.com/12620056.html?dist=jd

评论

发布