《深度学习 21天实战Caffe》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:赵永科著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2016
  • ISBN:9787121291159
  • 页数:373 页
图书介绍:本书是一本深度学习入门读物。以目前已经大量用于线上系统的深度学习框架Caffe为例,由浅入深,从 Caffe的配置、部署、使用开始学习,通过阅读 Caffe源码理解其精髓,加强对深度学习理论的理解,最终达到熟练运用 Caffe解决实际问题的目的。和国外机器学习、深度学习大部头著作相比,本书偏重动手实践,将难以捉摸的枯燥理论用浅显易懂的形式表达,透过代码揭开其神秘面纱,更多地贴近实际应用。

上篇 初见 2

第1天 什么是深度学习 2

1.1 星星之火,可以燎原 3

1.2 师夷长技 4

1.2.1 谷歌与微软 4

1.2.2 Facebook、亚马逊与NVIDIA 5

1.3 中国崛起 6

1.3.1 BAT在路上 6

1.3.2 星光闪耀 7

1.3.3 企业热是风向标 8

1.4 练习题 9

第2天 深度学习的过往 10

2.1 传统机器学习的局限性 10

2.2 从表示学习到深度学习 11

2.3 监督学习 12

2.4 反向传播算法 13

2.5 卷积神经网络 15

2.6 深度学习反思 17

2.7 练习题 18

2.8 参考资料 18

第3天 深度学习工具汇总 19

3.1 Caffe 19

3.2 Torch&OverFeat 20

3.3 MxNet 22

3.4 TensorFlow 22

3.5 Theano 24

3.6 CNTK 24

3.7 练习题 25

3.8 参考资料 26

第4天 准备Caffe环境 27

4.1 Mac OS环境准备 27

4.2 Ubuntu环境准备 28

4.3 RHEL/Fedora/CentOS环境准备 29

4.4 Windows环境准备 29

4.5 常见问题 32

4.6 练习题 32

4.7 参考资料 33

第5天 Caffe依赖包解析 34

5.1 ProtoBuffer 34

5.2 Boost 38

5.3 GFLAGS 38

5.4 GLOG 39

5.5 BLAS 40

5.6 HDF5 41

5.7 OpenCV 42

5.8 LMDB和LEVELDB 42

5.9 Snappy 43

5.10 小结 43

5.11 练习题 49

5.12 参考资料 49

第6天 运行手写体数字识别例程 50

6.1 MNIST数据集 50

6.1.1 下载MNIST数据集 50

6.1.2 MNIST数据格式描述 51

6.1.3 转换格式 53

6.2 LeNet-5模型 60

6.2.1 LeNet-5模型描述 60

6.2.2 训练超参数 65

6.2.3 训练日志 66

6.2.4 用训练好的模型对数据进行预测 76

6.2.5 Windows下训练模型 76

6.3 回顾 78

6.4 练习题 79

6.5 参考资料 79

篇尾语 80

中篇 热恋 82

第7天 Caffe代码梳理 82

7.1 Caffe目录结构 82

7.2 如何有效阅读Caffe源码 84

7.3 Caffe支持哪些深度学习特性 86

7.3.1 卷积层 86

7.3.2 全连接层 89

7.3.3 激活函数 91

7.4 小结 99

7.5 练习题 99

7.6 参考资料 100

第8天 Caffe数据结构 101

8.1 Blob 101

8.1.1 Blob基本用法 102

8.1.2 数据结构描述 108

8.1.3 Blob是怎样炼成的 109

8.2 Layer 125

8.2.1 数据结构描述 126

8.2.2 Layer是怎样建成的 127

8.3 Net 136

8.3.1 Net基本用法 136

8.3.2 数据结构描述 139

8.3.3 Net是怎样绘成的 139

8.4 机制和策略 146

8.5 练习题 147

8.6 参考资料 148

第9天 Caffe I/O模块 149

9.1 数据读取层 149

9.1.1 数据结构描述 149

9.1.2 数据读取层实现 150

9.2 数据变换器 155

9.2.1 数据结构描述 155

9.2.2 数据变换器的实现 156

9.3 练习题 171

第10天 Caffe模型 172

10.1 prototxt表示 173

10.2 内存中的表示 176

10.3 磁盘上的表示 176

10.4 Caffe Model Zoo 178

10.5 练习题 180

10.6 参考资料 180

第11天 Caffe前向传播计算 181

11.1 前向传播的特点 181

11.2 前向传播的实现 182

112.1 DAG构造过程 182

11.2.2 Net Forward实现 190

11.3 练习题 192

第12天 Caffe反向传播计算 193

12.1 反向传播的特点 193

12.2 损失函数 193

12.2.1 算法描述 194

12.2.2 参数描述 195

12.2.3 源码分析 195

12.3 反向传播的实现 203

12.4 练习题 205

第13天 Caffe最优化求解过程 207

13.1 求解器是什么 207

13.2 求解器是如何实现的 208

13.2.1 算法描述 208

13.2.2 数据结构描述 210

13.2.3 CNN训练过程 218

13.2.4 CNN预测过程 225

13.2.5 Solver的快照和恢复功能 227

13.3 练习题 230

第14天 Caffe实用工具 231

14.1 训练和预测 231

14.2 特征提取 241

14.3 转换图像格式 247

14.4 计算图像均值 254

14.5 自己编写工具 257

14.6 练习题 257

篇尾语 258

下篇 升华 260

第15天 Caffe计算加速 260

15.1 Caffe计时功能 260

15.2 Caffe GPU加速模式 262

15.2.1 GPU是什么 262

15.2.2 CUDA是什么 263

15.2.3 GPU、CUDA和深度学习 263

15.2.4 Caffe GPU环境准备 264

15.2.5 切换到Caffe GPU加速模式 268

15.3 Caffe cuDNN加速模式 269

15.3.1 获取cuDNN 270

15.3.2 切换到Caffe cuDNN加速模式 270

15.3.3 Caffe不同硬件配置性能 272

15.4 练习题 273

15.5 参考资料 273

第16天 Caffe可视化方法 275

16.1 数据可视化 275

16.1.1 MNIST数据可视化 275

16.1.2 CIFAR 10数据可视化 277

16.1.3 ImageNet数据可视化 278

16.2 模型可视化 279

16.2.1 网络结构可视化 279

16.2.2 网络权值可视化 281

16.3 特征图可视化 288

16.4 学习曲线 295

16.5 小结 298

16.6 练习题 298

16.7 参考资料 299

第17天 Caffe迁移和部署 300

17.1 从开发测试到生产部署 300

17.2 使用Docker 302

17.2.1 Docker基本概念 302

17.2.2 Docker安装 303

17.2.3 Docker入门 305

17.2.4 Docker使用进阶 312

17.3 练习题 317

17.4 参考资料 317

第18天 关于ILSVRC不得不说的一些事儿 318

18.1 ImageNet数据集 318

18.2 ILSVRC比赛项目 319

18.2.1 图像分类(CLS) 320

18.2.2 目标定位(LOC) 320

18.2.3 目标检测(DET) 321

18.2.4 视频目标检测(VID) 322

18.2.5 场景分类 322

18.3 Caffe ILSVRC实践 323

18.4 练习题 326

18.5 参考资料 326

第19天 放之四海而皆准 327

19.1 图像分类 327

19.1.1 问题描述 327

19.1.2 应用案例——商品分类 330

19.2 图像中的字符识别 332

19.2.1 问题描述 332

19.2.2 应用案例——身份证实名认证 333

19.3 目标检测 337

19.3.1 问题描述 337

19.3.2 最佳实践——运行R-CNN例程 337

19.4 人脸识别 340

19.4.1 问题描述 340

19.4.2 最佳实践——使用Face++SDK实现人脸检测 342

19.5 自然语言处理 343

19.5.1 问题描述 343

19.5.2 最佳实践——NLP-Caffe 344

19.6 艺术风格 350

19.6.1 问题描述 350

19.6.2 最佳实践——style-transfer 352

19.7 小结 354

19.8 练习题 354

19.9 参考资料 355

第20天 继往开来的领路人 356

20.1 Caffe Traps and Pitfalls 356

20.1.1 不支持任意数据类型 356

20.1.2 不够灵活的高级接口 357

20.1.3 繁杂的依赖包 357

20.1.4 堪忧的卷积层实现 357

20.1.5 架构之殇 358

20.1.6 应用场景局限性 358

20.2 最佳实践——Caffe2 359

20.3 练习题 361

20.4 参考资料 362

第21天 新生 363

21.1 三人行,必有我师 363

21.2 路漫漫其修远兮,吾将上下而求索 364

篇尾语 366

结束语 367

附录A 其他深度学习工具 368