如果你想要学习移动平台人工智能系统搭建,掌握核心算法,硬件级别指令集等,那这本《移动平台深度神经网络实战:原理、架构与优化》你一定不能错过,资深专家手把手教你开发移动平台人工智能系统。
内容简介
本书精讲移动平台深度学习系统所需核心算法、硬件级指令集、系统设计与编程实战、海量数据处理、业界流行框架裁剪与产品级性能优化策略等,深入、翔实。
深度学习基础(第1~4章),介绍开发机器学习系统所需重要知识点,以及开发移动平台机器学习系统算法基石,诸如人工神经网络、稀疏自编码器、深度网络、卷积神经网络等。
移动平台深度学习基础(第5~6章),介绍移动平台开发环境搭建、移动平台开发基础、ARM指令集加速技术,以及轻量级网络的实现原理与实战。
深入理解深度学习(第7~8章),剖析数据预处理原理与方法,高性能实时处理系统开发,以及基于深度神经网络的物体检测与识别。本篇是下一篇内容的前导与“基石”。
深入理解移动平台深度学习(第9~12章),本篇应用前述章节的框架与技术,实现移动平台深度学习系统的实现与集成,具体涵盖:① 移动平台性能优化,数据采集与训练,为开发移动平台图像分类系统建立基础;② 深入剖析TensorFlow Lite代码体系、构建原理、集成方法以及核心代码与裁剪分析,模型处理工具,并完成移动平台系统集成;③ 结合实战分析主流移动平台机器学习框架、接口,并展望未来。
本书特色
- 由浅入深详细讲解研发高性能移动平台深度学习系统的编程实战书。
- 采用循序渐进的方式讲解理论知识,从基础知识入手到艰涩的优化算法。
- 花费大量篇幅讲解各种旨在提升算法速度和减小模型的小的算法与技术手段,从轻量级网络等算法模型层面改良到Neon指令集应用、权重稀疏化、半精度、权重量化等优化算法与技术实现,最终完成适用于移动平台的深度学习引擎性能增强与模型裁剪。
期待读者能从本书中学到新的知识,以便对深度学习与移动平台系统开发有更加深入的认识,了解如何构建一个高性能移动平台深度学习系统。
适合人群
1.移动平台应用程序研发人员;
2.嵌入式设备软件研发人员;
3.大数据/机器学习架构师、研发人员
4.智能系统架构设计与开发工作者;
5.高性能计算研发人员;
6.高等院校与科研院所师生;
目录
- 序一
- 序二
- 前言
- 第一篇 深度学习基础
第1章 向未来问好 2
1.1 机器学习即正义 2
- 1.1.1 照本宣科 3
- 1.1.2 关键概念概述 4
- 1.1.3 数学之美 5
- 1.2 机器学习的场景和任务 6
- 1.3 机器学习算法 8
1.4 如何掌握机器学习 10
- 1.4.1 学习曲线 10
- 1.4.2 技术栈 11
- 1.5 深度学习 12
- 1.6 走进移动世界的深度学习 25
- 1.7 本书框架 26
- 1.8 本章小结 27
第2章 机器学习基础 28
- 2.1 机器学习的主要任务 28
- 2.2 贝叶斯模型 29
- 2.3 Logistic回归 33
- 2.4 本章小结 44
第3章 人工神经网络 45
- 3.1 人工神经网络简介 45
- 3.2 基本结构与前向传播 46
- 3.3 反向传播算法 50
- 3.4 实现前向神经网络 53
- 3.5 稀疏自编码器 61
- 3.6 神经网络数据预处理 64
- 3.7 本章小结 65
第4章 深度网络与卷积神经网络 66
- 4.1 深度网络 66
- 4.2 卷积神经网络 70
- 4.3 卷积神经网络实现 73
- 4.4 本章小结 110
- 第二篇 移动平台深度学习基础
第5章 移动平台深度学习框架设计与实现 112
- 5.1 移动平台深度学习系统开发简介 112
5.2 ARM Linux基础开发环境 113
- 5.2.1 通用ARM工具链安装 114
- 5.2.2 Android NDK安装 114
- 5.2.3 树莓派工具链安装 115
5.3 TensorFlow Lite介绍 115
- 5.3.1 TensorFlow Lite特性 115
- 5.3.2 TensorFlow Lite架构 116
- 5.3.3 TensorFlow Lite代码结构 117
5.4 移动平台性能优化基础 118
- 5.4.1 ARM v8体系结构 119
- 5.4.2 ARM v8数据类型与寄存器 120
- 5.4.3 Neon指令集介绍 122
- 5.4.4 ARM v8内存模型 124
- 5.4.5 Neon指令集加速实例 127
- 5.5 本章小结 140
第6章 移动平台轻量级网络实战 141
- 6.1 适用于移动平台的轻量级网络 141
6.2 SqueezeNet 142
- 6.2.1 微观结构 142
- 6.2.2 宏观结构 142
- 6.2.3 核心思路 143
- 6.2.4 实战:用PyTorch实现SqueezeNet 144
- 6.3 MobileNet 153
- 6.4 ShuffleNet 154
6.5 MobileNet V2 155
- 6.5.1 MobileNet的缺陷 155
- 6.5.2 MobileNet V2的改进 155
- 6.5.3 网络结构 156
- 6.5.4 实战:用PyTorch实现MobileNet V2 157
- 6.6 本章小结 161
- 第三篇 深入理解深度学习
第7章 高性能数据预处理实战 164
- 7.1 数据预处理任务 164
- 7.2 数据标准化 166
- 7.3 PCA 167
- 7.4 在Hurricane之上实现PCA 170
- 7.5 本章小结 192
第8章 基于深度神经网络的物体检测与识别 193
- 8.1 模式识别与物体识别 193
- 8.2 图像分类 197
- 8.3 目标识别与物体检测 207
- 8.4 检测识别实战 213
- 8.5 移动平台检测识别实战 237
- 8.6 本章小结 258
- 第四篇 深入理解移动平台深度学习
第9章 深入移动平台性能优化 260
- 9.1 模型压缩 260
- 9.2 权重稀疏化 262
- 9.3 模型加速 275
- 9.4 嵌入式优化 287
- 9.5 嵌入式优化代码实现 290
- 9.6 本章小结 313
第10章 数据采集与模型训练实战 314
- 10.1 收集海量数据 314
- 10.2 图片数据爬虫实现 317
10.3 训练与测试 330
- 10.3.1 模型定义 330
- 10.3.2 训练 334
- 10.3.3 测试 342
- 10.3.4 封装 344
- 10.4 本章小结 345
第11章 移动和嵌入式平台引擎与工具实战 346
- 11.1 TensorFlow Lite构建 346
- 11.2 集成TensorFlow Lite 357
- 11.3 核心实现分析 358
- 11.4 模型处理工具 407
- 11.5 本章小结 425
第12章 移动平台框架与接口实战 426
- 12.1 Core ML 426
12.2 Android Neural Networks API 437
- 12.2.1 等等,Google还有一个ML Kit 437
- 12.2.2 NNAPI编程模型 437
- 12.2.3 创建网络与计算 439
- 12.2.4 JNI封装与调用 451
- 12.2.5 App实战:集成NNAPI 454
12.3 实战:实现Android图像分类器App 459
- 12.3.1 JNI封装 459
- 12.3.2 Java调用 474
- 12.4 未来之路 479
- 12.5 本章小结 480
作者简介
卢誉声
Autodesk数据平台和计算平台资深工程师,负责平台架构研发工作。工作内容涵盖大规模分布式系统的服务器后端、前端以及SDK的设计与研发,在数据处理、实时计算、分布式系统设计与实现、性能调优、高可用性和自动化等方面积累了丰富的经验。擅长C/C++、JavaScript开发,此外对Scala、Java以及移动平台等也有一定研究。著有《移动平台深度神经网络实战:原理、架构与优化》、《分布式实时处理系统:原理架构与实现》,并译有《高级C/C++编译技术》和《JavaScript编程精解(原书第2版)》等。
书籍资料
免费视频课程:作者亲授,《移动平台深度学习模型剪裁与优化》
书籍购买:https://item.jd.com/12764172.html
书籍试读前三章请下载附件。
更多书籍推荐及赠书活动请关注极术读书专栏,用知识武装自己。
文件名 | 大小 | 下载次数 | 操作 |
---|---|---|---|
《移动平台深度神经网络实战》文前-1-3.pdf | 7.55MB | 11 | 下载 |