定 价:¥75.00
作 者: | 李永会 著 |
出版社: | 电子工业出版社 |
丛编项: | |
标 签: | 暂缺 |
ISBN: | 9787121371820 | 出版时间: | 2019-09-01 | 包装: | 平装 |
开本: | 16开 | 页数: | 204 | 字数: |
第1章初窥移动端深度学习技术的应用1
1.1本书示例代码简介1
1.1.1安装编译好的文件1
1.1.2在DemoApp中应用神经网络技术2
1.2移动端主体检测和分类2
1.3在线上产品中以“云+端计算”的方式应用深度学习技术4
1.4在移动端应用深度学习技术的业界案例6
1.4.1植物花卉识别6
1.4.2奇妙的风格化效果7
1.4.3视频主体检测技术在App中的应用7
1.5在移动端应用深度学习技术的难点8
1.5.1在服务器端和移动端应用深度学习技术的难点对比8
1.5.2实现AR实时翻译功能9
1.6编译运行深度学习App12
1.6.1mobile-deep-learning项目环境简介12
1.6.2mobile-deep-learning项目整体代码结构13
1.6.3mobile-deep-learning通用环境依赖14
1.7在iOS平台上搭建深度学习框架15
1.7.1在iOS平台上搭建mobile-deep-learning项目15
1.7.2在OSX平台上编译mobile-deep-learning项目16
1.7.3iOS平台上mobile-deep-learning项目的Demo代码结构17
1.8在Android平台上搭建深度学习框架18
1.8.1Android平台上mobile-deep-learning项目的环境依赖18
1.8.2Android平台上mobile-deep-learning项目的Demo代码结构19
1.8.3用Paddle-Lite框架编译与开发Android应用20
1.8.4开发一个基于移动端深度学习框架的AndroidApp22
第2章以几何方式理解线性代数基础知识32
2.1线性代数基础32
2.1.1标准平面直角坐标系32
2.1.2改变坐标系的基向量34
2.2向量的几何意义35
2.2.1向量的加减运算36
2.2.2向量的数乘运算37
2.3线性组合的几何意义38
2.4线性空间40
2.5矩阵和变换41
2.6矩阵乘法43
2.7行列式46
2.8矩阵的逆48
2.9秩49
2.10零空间50
2.11点积和叉积的几何表示与含义51
2.11.1点积的几何意义51
2.11.2叉积的几何意义52
2.12线性代数的特征概念53
2.13抽象向量空间54
第3章什么是机器学习和卷积神经网络56
3.1移动端机器学习的全过程56
3.2预测过程57
3.3数学表达59
3.3.1预测过程涉及的数学公式59
3.3.2训练过程涉及的数学公式60
3.4神经元和神经网络61
3.4.1神经元61
3.4.2神经网络63
3.5卷积神经网络63
3.6图像卷积效果65
3.6.1从全局了解视觉相关的神经网络65
3.6.2卷积核和矩阵乘法的关系66
3.6.3多通道卷积核的应用69
3.7卷积后的图片效果70
3.8卷积相关的两个重要概念:padding和stride75
3.8.1让卷积核“出界”:padding75
3.8.2让卷积核“跳跃”:stride75
3.9卷积后的降维操作:池化76
3.10卷积的重要性77
第4章移动端常见网络结构78
4.1早期的卷积神经网络78
4.2AlexNet网络结构79
4.3GoogLeNet网络结构79
4.3.1模型体积问题80
4.3.2计算量问题80
4.4尝试在App中运行GoogLeNet81
4.4.1将32位float参数转化为8位int参数以降低传输量82
4.4.2将CPU版本服务器端框架移植到移动端83
4.4.3应用在产品中的效果84
4.5轻量化模型SqueezeNet85
4.5.1SqueezeNet的优化策略85
4.5.2fire模块86
4.5.3SqueezeNet的全局86
4.6轻量高性能的MobileNet88
4.6.1什么是深度可分离卷积(DepthwiseSeparableConvolution)88
4.6.2MobileNetv1网络结构89
4.6.3MobileNetv2网络结构91
4.7移动端神经网络模型的优化方向92
第5章ARMCPU组成94
5.1现代计算机与ARMCPU架构的现状94
5.1.1冯?诺依曼计算机的基本结构94
5.1.2移动计算设备的分工96
5.2简单的CPU模型98
5.2.1取指过程98
5.2.2译码过程99
5.2.3执行过程100
5.2.4回写过程101
5.2.5细化分工:流水线技术102
5.3汇编指令初探102
5.3.1汇编语言程序的第一行102
5.3.2这些指令是什么105
5.4汇编指令概况106
5.4.1ARMCPU家族106
5.4.2ARMv7-A处理器架构107
5.4.3ARMv7汇编指令介绍109
5.5ARM指令集架构111
5.6ARM手机芯片的现状与格局113
第6章存储金字塔与ARM汇编115
6.1ARMCPU的完整结构115
6.2存储设备的金字塔结构117
6.3ARM芯片的缓存设计原理119
6.3.1缓存的基本理解119
6.3.2简单的缓存映射结构:直接映射121
6.3.3灵活高效的缓存结构:组相联映射123
6.3.4利用一个简单的公式优化访存性能125
6.4ARM汇编知识126
6.4.1ARM汇编数据类型和寄存器127
6.4.2ARM指令集130
6.4.3ARM汇编的内存操作131
6.5NEON汇编指令133
6.5.1NEON寄存器与指令类型134
6.5.2NEON存储操作指令135
6.5.3NEON通用数据操作指令137
6.5.4NEON通用算术操作指令138
6.5.5NEON乘法指令139
6.5.6运用NEON指令计算矩阵乘法140
第7章移动端CPU预测性能优化142
7.1工具及体积优化142
7.1.1工具使用143
7.1.2模型体积优化148
7.1.3深度学习库文件体积优化149
7.2CPU高性能通用优化150
7.2.1编译选项优化150
7.2.2内存性能和耗电量优化151
7.2.3循环展开153
7.2.4并行优化与流水线重排154
7.3卷积性能优化方式157
7.3.1滑窗卷积和GEMM性能对比157
7.3.2基于Winograd算法进行卷积性能优化160
7.3.3快速傅里叶变换162
7.3.4卷积计算基本优化163
7.4开发问题与经验总结164
第8章移动端GPU编程及深度学习框架落地实践166
8.1异构计算编程框架OpenCL166
8.1.1开发移动端GPU应用程序167
8.1.2OpenCL中的一些概念168
8.2移动端视觉搜索研发169
8.2.1初次探索移动端AI能力170
8.2.2取消拍照按钮,提升视觉搜索体验171
8.2.3使用深度学习技术提速视觉搜索172
8.2.4通过AI工程技术提升视觉搜索体验174
8.3解决历史问题:研发Paddle-Lite框架176
8.3.1体积压缩178
8.3.2工程结构编码前重新设计178
8.3.3视觉搜索的高级形态:实时视频流式搜索184