注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络人工智能移动深度学习

移动深度学习

移动深度学习

定 价:¥75.00

作 者: 李永会 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121371820 出版时间: 2019-09-01 包装: 平装
开本: 16开 页数: 204 字数:  

内容简介

  《移动深度学习》由浅入深地介绍了如何将深度学习技术应用到移动端运算领域,书中尽量避免罗列公式,尝试用浅显的语言和几何图形去解释相关内容。本书第1章展示了在移动端应用深度学习技术的Demo,帮助读者建立直观的认识;第2章至第4章讲述了如何在移动端项目中应用深度学习技术;第5章至第8章的难度略大,主要讲述如何深入地调整框架,适配并定制自己的框架。 《移动深度学习》适合移动端研发工程师阅读,也适合所有对移动端运算领域感兴趣的朋友阅读。

作者简介

  李永会 百度App移动研发部资深工程师。2015年起在百度从事图像搜索和语音搜索客户端研发工作,主持了多个重要创新项目,包括百度Lens、实时翻译等。同时负责开源移动端深度学习框架Paddle-Lite的开发,长期从事移动端AI高性能计算优化工作,在多种软硬件平台上高性能运行深度学习技术。在工作之余有读史、书法等爱好。

图书目录

第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


本目录推荐