搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
基于浏览器的深度学习
0.00     定价 ¥ 79.00
员工书屋
此书还可采购10本,持证读者免费借回家
  • ISBN:
    9787111629405
  • 作      者:
    [法]泽维尔·布里(Xavier,Bourry),[美]佐佐木凯(Kai,Sasaki),[奥地利]克里斯托夫·科纳(Christoph,Borner),[日]中野礼一郎(Reiichiro,Nakano)
  • 译      者:
    侠天,易乐天
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2019-08-01
收藏
编辑推荐

本书是一本Web开发和深度学习跨界的入门实践指南,主要介绍基于浏览器的深度学习技术,具体内容包括神经网络架构、主流的JavaScript深度学习框架、深度学习的JavaScript基础、基于WebGL的GPU加速、浏览器上的数据抽取和操作,以及tensorflow.js实践应用。每章都配有完整的代码示例以及可视化效果,轻松易学。书中还详细介绍tensorflow.js重要的模块tfjs-core、tfjs-layers、tfjs-node、tfjs-converter等。


展开
作者简介

  泽维尔·布里(Xavier Bourry)是创业公司Jeeliz的联合创始人和CTO,专注于深度学习。他使用WebGLAPI开发了基于GPU的深度学习引擎,其性能比tfjs高,能够用于实时视频处理。
  
  佐佐木凯(Ka iSasaki)是Arm公司的高级软件工程师,还是Apache Hivemall Committer。他擅长Web和数据处理平台,在使用APNS与GCM开发和维护通知平台、开发Hadoop和Storm等数据处理平台、开发/维护Presto集群等方面有丰富的经验。
  
  克里斯托夫·科纳(Christoph Korner)是微软公司大数据和人工智能专家,之前是T-Mobile Austria的大数据技术主管、Kaggle Vienna机器学习社区的会议组织者。除本书外,他还著有《Learning Responsive Data Visualization》《Data Visualization with D3 and AngularjS》等。
  
  中野礼·郎(Reiichiro Nakano)是Infostellar公司的软件开发工程师,专注于机器学习。

展开
内容介绍

本书是一本在浏览器中进行深度学习应用的入门实践指南,主要内容包括神经网络架构、主流的JavaScript深度学习框架、深度学习的JavaScript基础、基于web GL的加速、浏览器上的数据提取和数据操作,以及TensorFlow.js实践应用。每章都配有完整的代码示例和可视化效果,轻松易学。书中还详细介绍TensorFlow.js中的重要模块tfjs-core、tfjs-layers、tfjs-node和tfjs-converter等。

全书共8章,第1章主要介绍深度学习相关的数学知识、概念及架构;第2章介绍在深度学习应用中常用的深度学习架构;第3章介绍用在浏览器上的三种不同JavaScript深度学习框架,即TensorFlow.js、WebDNN和Keras.js;第4章介绍在浏览器和Node.js中运行深度学习框架的JavaScript基础;第5章介绍如何将深度学习操作映射到GPU,并展示如何用WebGL实现神经网络;第6章介绍如何从浏览器提取数据,如从URL加载图片数据、从网络摄像头解析帧数据,或者从手机解析数据;第7章给出一些在浏览器中操作数据的实用方法;第8章通过一些小项目详细阐释TensorFlow.js实践细节。


展开
目录

译者序 

前言 

第 1 章 深度学习. . . . . . . . . . . . . . . . . . . . . . .1 

1.1 深度神经网络的数学基础 . . . . 1 

1.1.1 感知机||门控线性回归 . . . . 2 

1.1.2 多层感知机. . . . . . . . . . . . . . . . .5 

1.1.3 卷积和池化. . . . . . . . . . . . . . . . .5 

1.1.4 激活函数 . . . . . . . . . . . . . . . . . . . 7 

1.2 深度神经网络的训练. . . . . . . .11 

1.2.1 损失函数的重要性 . . . . . . . . . 12 

1.2.2 正则化 . . . . . . . . . . . . . . . . . . . .12 

1.2.3 反向传播算法 . . . . . . . . . . . . . 13 

1.2.4 优化方法. . . . . . . . . . . . . . . . . .13 

1.3 本章小结. . . . . . . . . . . . . . . . . . . .14 

第 2 章 神经网络架构. . . . . . . . . . . . . . . . .15 

2.1 卷积神经网络 . . . . . . . . . . . . . . . 15 

2.1.1 AlexNet . . . . . . . . . . . . . . . . . . 16 

2.1.2 GoogLeNet. . . . . . . . . . . . . . . .17 

2.1.3 ResNet . . . . . . . . . . . . . . . . . . . 18 

2.1.4 SqueezeNet . . . . . . . . . . . . . . . 19 

2.2 循环神经网络 . . . . . . . . . . . . . . . 22 

2.2.1 LSTM . . . . . . . . . . . . . . . . . . . 23 

2.2.2 GRU . . . . . . . . . . . . . . . . . . . . .24 

2.3 深度强化学习 . . . . . . . . . . . . . . . 25 

2.4 本章小结. . . . . . . . . . . . . . . . . . . .28 

第 3 章 JavaScript 深度学习框架 . . . . 29 

3.1 TensorFlow.js . . . . . . . . . . . . . . .29 

3.1.1 TensorFlow.js 介绍 . . . . . . . . 30 

3.1.2 XOR 问题 . . . . . . . . . . . . . . . . 30 

3.1.3 解决 XOR 问题 . . . . . . . . . . . 32 

3.1.4 网络架构. . . . . . . . . . . . . . . . . .37 

3.1.5 张量 . . . . . . . . . . . . . . . . . . . . . . 39 

3.1.6 张量操作. . . . . . . . . . . . . . . . . .40 

3.1.7 模型训练. . . . . . . . . . . . . . . . . .43 

3.1.8 TensorFlow.js 的生态 . . . . . . 46 

3.2 WebDNN . . . . . . . . . . . . . . . . . . . 48 

3.3 Keras.js . . . . . . . . . . . . . . . . . . . . 51

3.4 本章小结. . . . . . . . . . . . . . . . . . . .52 

第 4 章 深度学习的 JavaScript 基础 . . . . . . . . . . . . . . . . . . . . . . . . . . 53 

4.1 JavaScript 中的TypedArray . . . . . . . . . . . . . . . . 53 

4.1.1 ArrayBu.er . . . . . . . . . . . . . . 55 

4.1.2 DataView . . . . . . . . . . . . . . . . 56 

4.2 JavaScript 中的并发 . . . . . . . . 58 

4.2.1 JavaScript 的事件循环 . . . . . 58 

4.2.2 用 Promise 创建一个异步函数 . . . . . . . . . . . . . . . . . .59 

4.2.3 使用新的async/await语法 . . . . . . . . . . . . . . . . . . . . . . 61 

4.2.4 多线程使用 WebWorker . . . 64 

4.2.5 深度学习应用程序的处理循环 . . . . . . . . . . . . . . . . . .66 

4.3 在 CPU/GPU 上加载资源 . . . . . . . . . . . . . . . . . . . . . . . . 66 

4.3.1 Fetch API . . . . . . . . . . . . . . . . 67 

4.3.2 标签编码. . . . . . . . . . . . . . . . . .69 

4.3.3 one-hot 编码 . . . . . . . . . . . . . . 69 

4.4 本章小结. . . . . . . . . . . . . . . . . . . .70 

第 5 章 基于 WebGL 的 GPU加速 . . . . . . . . . . . . . . . . . . . . . . . . . . 73 

5.1 WebGL 基础 . . . . . . . . . . . . . . . . 74 

5.1.1 WebGL 工作流程 . . . . . . . . . . 76 

5.1.2 片段着色器渲染 . . . . . . . . . . . 78 

5.2 WebGL 实现常规计算 . . . . . . 85 

5.2.1 调试 WebGL . . . . . . . . . . . . . 86 

5.2.2 渲染纹理. . . . . . . . . . . . . . . . . .87 

5.2.3 精度重要性. . . . . . . . . . . . . . . .92 

5.2.4 优化器 . . . . . . . . . . . . . . . . . . . .94 

5.2.5 GLSL 开发. . . . . . . . . . . . . . . .95 

5.2.6 浮点型的特殊性 . . . . . . . . . . . 95 

5.2.7 从 CPU 流向 GPU,反之亦然 . . . . . . . . . . . . . . . . . .99 

5.3 使用纹理和着色器的矩阵计算 . . . . . . . . . . . . . . . . . . 101 

5.3.1 标准的矩阵加法 . . . . . . . . . . 101 

5.3.2 标准的矩阵乘法 . . . . . . . . . . 102 

5.3.3 激活函数应用 . . . . . . . . . . . . 103 

5.3.4 运用WGLMatrix库 . . . . . . . . . 104 

5.4 手写数字识别应用 . . . . . . . . . 105 

5.4.1 数据编码 . . . . . . . . . . . . . . . . 105 

5.4.2 内存优化 . . . . . . . . . . . . . . . . 105 

5.4.3 前向传播 . . . . . . . . . . . . . . . . 107 

5.4.4 第一次尝试 . . . . . . . . . . . . . . 107 

5.4.5 优化性能 . . . . . . . . . . . . . . . . 108 

5.5 本章小结 . . . . . . . . . . . . . . . . . . 109 

第 6 章 从浏览器中提取数据 . . . . . . . . 111 

6.1 加载图像数据. . . . . . . . . . . . . .112 

6.1.1 从图像中提取像素 . . . . . . . . 112 

6.1.2 加载远程资源 . . . . . . . . . . . . 114 

6.1.3 获取二进制块 . . . . . . . . . . . . 116 

6.2 将像素数据渲染到屏幕上 . . 117 

6.2.1 显示图片 . . . . . . . . . . . . . . . . 118

6.2.2 将像素数据渲染到画布 . . . . 119 

6.2.3 插值图像数据 . . . . . . . . . . . . 122 

6.2.4 在画布上绘制形状 . . . . . . . . 124 

6.3 访问相机、麦克风和扬声器. . . . . . . . . . . . . . . . . . . . .126 

6.3.1 从网络摄像头捕获图像 . . . . 126 

6.3.2 用麦克风录音 . . . . . . . . . . . . 128 

6.3.3 加载、解码和播放声音 . . . . 130 

6.4 深度学习框架中的实用工具. . . . . . . . . . . . . . . . . . .131 

6.4.1 TensorFlow.js . . . . . . . . . . . 131 

6.4.2 Keras.js . . . . . . . . . . . . . . . . . 133 

6.4.3 WebDNN . . . . . . . . . . . . . . . 133 

6.5 本章小结 . . . . . . . . . . . . . . . . . . 135 

第 7 章 高级数据操作的方法 . . . . . . . . 137 

7.1 反序列化 Protobuf . . . . . . . . 138 

7.1.1 解析 Caffe 模型参数 . . . . . . 139 

7.1.2 解析 TensorFlow 图. . . . . . .141 

7.1.3 浮点精度的注意事项 . . . . . . 142 

7.2 用 Chart.js 绘制图表. . . . . . .143 

7.2.1 探索不同的图表类型 . . . . . . 144 

7.2.2 配置数据集 . . . . . . . . . . . . . . 146 

7.2.3 更新值. . . . . . . . . . . . . . . . . . .147 

7.2.4 选项和配置概述 . . . . . . . . . . 150 

7.3 用画布画草图. . . . . . . . . . . . . .153 

7.3.1 在画布上绘图 . . . . . . . . . . . . 154 

7.3.2 提取笔画 . . . . . . . . . . . . . . . . 158 

7.4 从麦克风计算频谱图. . . . . . .159 

7.5 人脸检测与跟踪 . . . . . . . . . . . 162 

7.5.1 用 Jeeliz FaceFilter跟踪人脸. . . . . . . . . . . . . . . . .162 

7.5.2 使用 tracking.js 跟踪人脸 . . . . . . . . . . . . . . . . . . . . . 163 

7.5.3 Chrome 中人脸检测的原生支持. . . . . . . . . . . . . . . . .165 

7.6 本章小结 . . . . . . . . . . . . . . . . . . 167 

第 8 章 基于 TensorFlow.js构建应用 . . . . . . . . . . . . . . . . . . . . 169 

8.1 TensorFlow.js 实现手势识别. . . . . . . . . . . . . . . . . . .169 

8.1.1 算法解说 . . . . . . . . . . . . . . . . 170 

8.1.2 TensorFlow.js 项目准备 . . . 171 

8.1.3 实例化 KNN 图像分类器 . . . . . . . . . . . . . . . . . . . . . 172 

8.1.4 TensorFlow.js 迭代训练 . . . 173 

8.1.5 小结. . . . . . . . . . . . . . . . . . . . .176 

8.2 TensorFlow.js 实现文本生成 . . . . . . . . . . . . . . . . . . . . . . . 176 

8.2.1 算法解说 . . . . . . . . . . . . . . . . 176 

8.2.2 Keras 模型 . . . . . . . . . . . . . . .177 

8.2.3 将 Keras 模型转换为TensorFlow.js 模型 . . . . . . . 178 

8.2.4 项目准备 . . . . . . . . . . . . . . . . 178 

8.2.5 在 TensorFlow.js 中导入Keras 模型 . . . . . . . . . . . . . . 179 

8.2.6 TensorFlow.js 迭代训练 . . . 179

8.2.7 构造模型输入 . . . . . . . . . . . . 181 

8.2.8 模型预测 . . . . . . . . . . . . . . . . 183 

8.2.9 模型输出抽样 . . . . . . . . . . . . 184 

8.2.10 小结. . . . . . . . . . . . . . . . . . . .186 

8.3 TensorFlow.js 实现图像降噪. . . . . . . . . . . . . . . . . . .186 

8.3.1 算法解说 . . . . . . . . . . . . . . . . 187 

8.3.2 将 Keras 模型转换为TensorFlow.js 模型 . . . . . . . 188 

8.3.3 项目准备 . . . . . . . . . . . . . . . . 189 

8.3.4 初始化. . . . . . . . . . . . . . . . . . .190 

8.3.5 应用流程 . . . . . . . . . . . . . . . . 190 

8.3.6 加载测试数字图片 . . . . . . . . 191 

8.3.7 更新噪声 . . . . . . . . . . . . . . . . 193 

8.3.8 生成变形图片 . . . . . . . . . . . . 194 

8.3.9 图片降噪 . . . . . . . . . . . . . . . . 195 

8.3.10 初始化函数 . . . . . . . . . . . . . 196 

8.3.11 小结. . . . . . . . . . . . . . . . . . . .197 

8.4 本章小结 . . . . . . . . . . . . . . . . . . 197 

8.5 最后结论 . . . . . . . . . . . . . . . . . . 198


展开
评论
展开
加入书架成功!若您下单的图书有多卷册,请在确认订单时标明您需要的是哪一册,谢谢!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用员工书屋的读者帐号和密码进行登录

点击获取验证码
登录