书籍详情
异步深度学习经典教程:深度学习+动手学深度学习(套装共2册,京东)
作者:[美] Ian Goodfellow(伊恩·古德费洛),[加] Yoshua Bengio(约书亚·本吉奥) 等著
出版社:人民邮电出版社
出版时间:2019-06-01
ISBN:9787115004697
定价:¥253.00
购买这本书可以去
内容简介
动手学深度学习内容简介:本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。深度学习内容介绍:《深度学习》由全球知名的三位专家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第 1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第 2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。 《深度学习》适合各类读者阅读,包括相关专业的大学生或研究生,以及不具有机器学习或统计背景、但是想要快速补充深度学习知识,以便在实际产品或平台中应用的软件工程师。
作者简介
动手学深度学习作者介绍: 阿斯顿·张(Aston Zhang)美亚应用科学家,美国伊利诺伊大学香槟分校计算机科学博士,统计学和计算机科学双硕士。他专注于机器学习的研究,并在数个学术会议发表过论文。他担任过NeurIPS、ICML、KDD、WWW、WSDM、SIGIR、AAAI 等学术会议的程序委员或审稿人以及Frontiers in Big Data 期刊的编委。 李沐(Mu Li)美亚首席科学家(Principal Scientist),加州大学伯克利分校客座助理教授,美国卡内基梅隆大学计算机系博士。他专注于分布式系统和机器学习算法的研究。他是深度学习框架MXNet 的作者之一。他曾任机器学习创业公司Marianas Labs 的CTO 和百度深度学习研究院的主任研发架构师。他在理论、机器学习、应用和操作系统等多个领域的学术会议(包括FOCS、ICML、NeurIPS、AISTATS、CVPR、KDD 、WSDM、OSDI)上发表过论文。 扎卡里·C. 立顿(Zachary C. Lipton)美亚应用科学家,美国卡内基梅隆大学助理教授,美国加州大学圣迭戈分校博士。他专注于机器学习算法及其社会影响的研究,特别是在时序数据与序列决策上的深度学习。这类工作有着广泛的应用场景,包括医疗诊断、对话系统和产品推荐。他创立了博客“Approximately Correct”(approximatelycorrect.com)。 亚历山大·J. 斯莫拉(Alexander J. Smola)美亚副总裁/ 杰出科学家,德国柏林工业大学计算机科学博士。他曾在澳大利亚国立大学、美国加州大学伯克利分校和卡内基梅隆大学任教。他发表了超过200篇学术论文,并著有5本书,其论文及书被引用超过10万次。他的研究兴趣包括深度学习、贝叶斯非参数、核方法、统计建模和可扩展算法。 深度学习作者简介: Ian Goodfellow,谷歌公司(Google) 的研究科学家,2014 年蒙特利尔大学机器学习博士。他的研究兴趣涵盖大多数深度学习主题,特别是生成模型以及机器学习的安全和隐私。Ian Goodfellow在研究对抗样本方面是一位有影响力的早期研究者,他发明了生成式对抗网络,在深度学习领域贡献卓越。Yoshua Bengio,蒙特利尔大学计算机科学与运筹学系(DIRO) 的教授,蒙特利尔学习算法研究所(MILA) 的负责人,CIFAR 项目的共同负责人,加拿大统计学习算法研究主席。Yoshua Bengio 的主要研究目标是了解产生智力的学习原则。他还教授“机器学习”研究生课程(IFT6266),并培养了一大批研究生和博士后。Aaron Courville,蒙特利尔大学计算机科学与运筹学系的助理教授,也是LISA 实验室的成员。目前他的研究兴趣集中在发展深度学习模型和方法,特别是开发概率模型和新颖的推断方法。Aaron Courville 主要专注于计算机视觉应用,在其他领域,如自然语言处理、音频信号处理、语音理解和其他AI相关任务方面也有所研究。中文版审校者简介 张志华,北京大学数学科学学院统计学教授,北京大学大数据研究中心和北京大数据研究院数据科学教授,主要从事机器学习和应用统计学的教学与研究工作。译者简介 赵申剑,上海交通大学计算机系硕士研究生,研究方向为数值优化和自然语言处理。 黎彧君,上海交通大学计算机系博士研究生,研究方向为数值优化和强化学习。 符天凡,上海交通大学计算机系硕士研究生,研究方向为贝叶斯推断。 李凯,上海交通大学计算机系博士研究生,研究方向为博弈论和强化学习。
目录
动手学深度学习目录:
对本书的赞誉
前言
如何使用本书
资源与支持
主要符号表
第 1 章 深度学习简介 1
1.1 起源 2
1.2 发展 4
1.3 成功案例 6
1.4 特点 7
小结 8
练习 8
第 2 章 预备知识 9
2.1 获取和运行本书的代码 9
2.1.1 获取代码并安装运行环境 9
2.1.2 更新代码和运行环境 11
2.1.3 使用GPU版的MXNet 11
小结12
练习12
2.2 数据操作 12
2.2.1 创建NDArray 12
2.2.2 运算 14
2.2.3 广播机制 16
2.2.4 索引 17
2.2.5 运算的内存开销 17
2.2.6 NDArray和NumPy相互变换18
小结19
练习19
2.3 自动求梯度 19
2.3.1 简单例子 19AL34
2.3.2 训练模式和预测模式 20
2.3.3 对Python控制流求梯度 20
小结21
练习21
2.4 查阅文档 21
2.4.1 查找模块里的所有函数和类 21
2.4.2 查找特定函数和类的使用 22
2.4.3 在MXNet网站上查阅 23
小结 24
练习 24
第3 章 深度学习基础 25
3.1 线性回归 25
3.1.1 线性回归的基本要素 25
3.1.2 线性回归的表示方法 28
小结 30
练习 30
3.2 线性回归的从零开始实现 30
3.2.1 生成数据集 30
3.2.2 读取数据集 32
3.2.3 初始化模型参数 32
3.2.4 定义模型 33
3.2.5 定义损失函数 33
3.2.6 定义优化算法 33
3.2.7 训练模型 33
小结 34
练习 34
3.3 线性回归的简洁实现 35
3.3.1 生成数据集 35
3.3.2 读取数据集 35
3.3.3 定义模型 36
3.3.4 初始化模型参数 36
3.3.5 定义损失函数 37
3.3.6 定义优化算法 37
3.3.7 训练模型 37
小结 38
练习 38
3.4 softmax回归 38
3.4.1 分类问题 38
3.4.2 softmax回归模型 39
3.4.3 单样本分类的矢量计算表达式 40
3.4.4 小批量样本分类的矢量计算表达式 40
3.4.5 交叉熵损失函数 41
3.4.6 模型预测及评价 42
小结 42
练习 42
3.5 图像分类数据集(Fashion-MNIST) 42
3.5.1 获取数据集 42
3.5.2 读取小批量 44
小结 45
练习 45
3.6 softmax回归的从零开始实现 45
3.6.1 读取数据集 45
3.6.2 初始化模型参数 45
3.6.3 实现softmax运算 46
3.6.4 定义模型 46
3.6.5 定义损失函数 47
3.6.6 计算分类准确率 47
3.6.7 训练模型 48
3.6.8 预测 48
小结 49
练习 49
3.7 softmax回归的简洁实现 49
3.7.1 读取数据集 49
3.7.2 定义和初始化模型 50
3.7.3 softmax和交叉熵损失函数 50
3.7.4 定义优化算法 50
3.7.5 训练模型 50
小结 50
练习 50
3.8 多层感知机 51
3.8.1 隐藏层 51
3.8.2 激活函数 52
3.8.3 多层感知机 55
小结 55
练习 55
3.9 多层感知机的从零开始实现 56
3.9.1 读取数据集 56
3.9.2 定义模型参数 56
3.9.3 定义激活函数 56
3.9.4 定义模型 56
3.9.5 定义损失函数 57
3.9.6 训练模型 57
小结 57
练习 57
3.10 多层感知机的简洁实现 57
3.10.1 定义模型 58
3.10.2 训练模型 58
小结 58
练习 58
3.11 模型选择、欠拟合和过拟合 58
3.11.1 训练误差和泛化误差 59
3.11.2 模型选择 59
3.11.3 欠拟合和过拟合 60
3.11.4 多项式函数拟合实验 61
小结 65
练习 65
3.12 权重衰减 65
3.12.1 方法 65
3.12.2 高维线性回归实验 66
3.12.3 从零开始实现 66
3.12.4 简洁实现 68
小结 70
练习 70
3.13 丢弃法 70
3.13.1 方法 70
3.13.2 从零开始实现 71
3.13.3 简洁实现 73
小结 74
练习 74
3.14 正向传播、反向传播和计算图 74
3.14.1 正向传播 74
3.14.2 正向传播的计算图 75
3.14.3 反向传播 75
3.14.4 训练深度学习模型 76
小结 77
练习 77
3.15 数值稳定性和模型初始化 77
3.15.1 衰减和爆炸 77
3.15.2 随机初始化模型参数 78
小结 78
练习 79
3.16 实战Kaggle比赛:房价预测 79
3.16.1 Kaggle比赛 79
3.16.2 读取数据集 80
3.16.3 预处理数据集 81
3.16.4 训练模型 82
3.16.5 k 折交叉验证 82
3.16.6 模型选择 83
3.16.7 预测并在Kaggle提交结果 84
小结 85
练习 85
第4章 深度学习计算 86
4.1 模型构造 86
小结 89
练习 90
4.2 模型参数的访问、初始化和共享 90
小结 94
练习 94
4.3 模型参数的延后初始化 95
小结 96
练习 97
4.4 自定义层 97
小结 99
练习 99
4.5 读取和存储 99
小结 101
练习 101
4.6 GPU计算 101
小结 105
练习 105
第5章 卷积神经网络 106
5.1 二维卷积层 106
小结 110
练习 110
5.2 填充和步幅 111
小结 113
练习 113
5.3 多输入通道和多输出通道 114
小结 117
练习 117
5.4 池化层 117
小结 120
练习 121
5.5 卷积神经网络(LeNet) 121
小结 124
练习 124
5.6 深度卷积神经网络(AlexNet) 124
小结 128
练习 129
5.7 使用重复元素的网络(VGG) 129
5.7.1 VGG块 129
5.7.2 VGG网络 129
5.7.3 训练模型 130
小结 131
练习 131
5.8 网络中的网络(NiN) 131
小结 134
练习 134
5.9 含并行连结的网络(GoogLeNet) 134
小结 137
练习 137
5.10 批量归一化 138
小结 142
练习 142
5.11 残差网络(ResNet) 143
小结 146
练习 146
5.12 稠密连接网络(DenseNet) 147
小结 149
练习 149
第6章 循环神经网络 150
6.1 语言模型 150
小结 152
练习 152
6.2 循环神经网络 152
小结 155
练习 155
6.3 语言模型数据集(歌词) 155
小结 158
练习 159
6.4 循环神经网络的从零开始实现 159
小结 164
练习 164
6.5 循环神经网络的简洁实现 165
小结 168
练习 168
小结 170
练习 170
6.7 门控循环单元(GRU) 170
小结 176
练习 176
6.8 长短期记忆(LSTM) 176
小结 181
练习 182
6.9 深度循环神经网络 182
小结 183
练习 183
6.10 双向循环神经网络 183
小结 184
练习 184
第7章 优化算法 185
7.1 优化与深度学习 185
小结 188
练习 189
7.2 梯度下降和随机梯度下降 189
小结 194
练习 194
7.3 小批量随机梯度下降 194
小结 199
练习 199
7.4 动量法 200
小结 205
练习 205
7.5 AdaGrad算法206
小结 209
练习 209
7.6 RMSProp算法 209
小结 212
练习 212
7.7 AdaDelta算法 212
小结 214
练习 214
7.8 Adam算法 215
小结 217
练习 217
第8章 计算性能 218
8.1 命令式和符号式混合编程 218
小结 224
练习 224
8.2 异步计算 224
小结 229
练习 229
8.3 自动并行计算 229
小结 231
练习 231
8.4 多GPU计算 232
小结 237
练习 237
8.5 多GPU计算的简洁实现 237
小结 241
练习 241
第9章 计算机视觉 242
9.1 图像增广242
小结 250
练习 250
9.2 微调 250
热狗识别 251
小结 255
练习 255
9.3 目标检测和边界框 255
边界框 256
小结 257
练习 257
9.4 锚框 257
小结 265
练习 265
9.5 多尺度目标检测 265
小结 268
练习 268
9.6 目标检测数据集(皮卡丘) 268
小结 270
练习 271
9.7 单发多框检测(SSD) 271
小结 278
练习 278
9.8 区域卷积神经网络(R-CNN)系列280
小结 285
练习 285
9.9 语义分割和数据集 285
小结 290
练习 290
9.10 全卷积网络(FCN) 290
小结 297
练习 297
9.11 样式迁移 298
小结 306
练习 306
9.12 实战Kaggle比赛:图像 分类(CIFAR-10)306
小结 313
练习 313
9.13 实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 314
小结 320
练习 320
第10 章 自然语言处理 321
10.1 词嵌入(word2vec) 321
小结 325
练习 325
10.2 近似训练325
小结 327
练习 328
10.3 word2vec的实现328
小结 336
练习 336
10.4 子词嵌入(fastText) 336
小结 337
练习 337
10.5 全局向量的词嵌入(GloVe)337
小结 340
练习 340
10.6 求近义词和类比词340
小结 343
练习 343
10.7 文本情感分类:使用循环神经网络 343
小结 347
练习 347
10.8 文本情感分类:使用卷积神经网络(textCNN) 347
小结 353
练习 353
10.9 编码器-解码器(seq2seq)353
小结 355
练习 355
10.10 束搜索 355
小结 358
练习 358
10.11 注意力机制 358
小结 361
练习 361
10.12 机器翻译 361
小结 369
练习 369
附录A 数学基础 370
附录B 使用 Jupyter 记事本 376
附录C 使用 AWS 运行代码 381
附录D GPU 购买指南 388
附录E 如何为本书做贡献 391
附录F d2lzh 包索引 395
附录G 中英文术语对照表 397
参考文献 402
索引 407
对本书的赞誉
前言
如何使用本书
资源与支持
主要符号表
第 1 章 深度学习简介 1
1.1 起源 2
1.2 发展 4
1.3 成功案例 6
1.4 特点 7
小结 8
练习 8
第 2 章 预备知识 9
2.1 获取和运行本书的代码 9
2.1.1 获取代码并安装运行环境 9
2.1.2 更新代码和运行环境 11
2.1.3 使用GPU版的MXNet 11
小结12
练习12
2.2 数据操作 12
2.2.1 创建NDArray 12
2.2.2 运算 14
2.2.3 广播机制 16
2.2.4 索引 17
2.2.5 运算的内存开销 17
2.2.6 NDArray和NumPy相互变换18
小结19
练习19
2.3 自动求梯度 19
2.3.1 简单例子 19AL34
2.3.2 训练模式和预测模式 20
2.3.3 对Python控制流求梯度 20
小结21
练习21
2.4 查阅文档 21
2.4.1 查找模块里的所有函数和类 21
2.4.2 查找特定函数和类的使用 22
2.4.3 在MXNet网站上查阅 23
小结 24
练习 24
第3 章 深度学习基础 25
3.1 线性回归 25
3.1.1 线性回归的基本要素 25
3.1.2 线性回归的表示方法 28
小结 30
练习 30
3.2 线性回归的从零开始实现 30
3.2.1 生成数据集 30
3.2.2 读取数据集 32
3.2.3 初始化模型参数 32
3.2.4 定义模型 33
3.2.5 定义损失函数 33
3.2.6 定义优化算法 33
3.2.7 训练模型 33
小结 34
练习 34
3.3 线性回归的简洁实现 35
3.3.1 生成数据集 35
3.3.2 读取数据集 35
3.3.3 定义模型 36
3.3.4 初始化模型参数 36
3.3.5 定义损失函数 37
3.3.6 定义优化算法 37
3.3.7 训练模型 37
小结 38
练习 38
3.4 softmax回归 38
3.4.1 分类问题 38
3.4.2 softmax回归模型 39
3.4.3 单样本分类的矢量计算表达式 40
3.4.4 小批量样本分类的矢量计算表达式 40
3.4.5 交叉熵损失函数 41
3.4.6 模型预测及评价 42
小结 42
练习 42
3.5 图像分类数据集(Fashion-MNIST) 42
3.5.1 获取数据集 42
3.5.2 读取小批量 44
小结 45
练习 45
3.6 softmax回归的从零开始实现 45
3.6.1 读取数据集 45
3.6.2 初始化模型参数 45
3.6.3 实现softmax运算 46
3.6.4 定义模型 46
3.6.5 定义损失函数 47
3.6.6 计算分类准确率 47
3.6.7 训练模型 48
3.6.8 预测 48
小结 49
练习 49
3.7 softmax回归的简洁实现 49
3.7.1 读取数据集 49
3.7.2 定义和初始化模型 50
3.7.3 softmax和交叉熵损失函数 50
3.7.4 定义优化算法 50
3.7.5 训练模型 50
小结 50
练习 50
3.8 多层感知机 51
3.8.1 隐藏层 51
3.8.2 激活函数 52
3.8.3 多层感知机 55
小结 55
练习 55
3.9 多层感知机的从零开始实现 56
3.9.1 读取数据集 56
3.9.2 定义模型参数 56
3.9.3 定义激活函数 56
3.9.4 定义模型 56
3.9.5 定义损失函数 57
3.9.6 训练模型 57
小结 57
练习 57
3.10 多层感知机的简洁实现 57
3.10.1 定义模型 58
3.10.2 训练模型 58
小结 58
练习 58
3.11 模型选择、欠拟合和过拟合 58
3.11.1 训练误差和泛化误差 59
3.11.2 模型选择 59
3.11.3 欠拟合和过拟合 60
3.11.4 多项式函数拟合实验 61
小结 65
练习 65
3.12 权重衰减 65
3.12.1 方法 65
3.12.2 高维线性回归实验 66
3.12.3 从零开始实现 66
3.12.4 简洁实现 68
小结 70
练习 70
3.13 丢弃法 70
3.13.1 方法 70
3.13.2 从零开始实现 71
3.13.3 简洁实现 73
小结 74
练习 74
3.14 正向传播、反向传播和计算图 74
3.14.1 正向传播 74
3.14.2 正向传播的计算图 75
3.14.3 反向传播 75
3.14.4 训练深度学习模型 76
小结 77
练习 77
3.15 数值稳定性和模型初始化 77
3.15.1 衰减和爆炸 77
3.15.2 随机初始化模型参数 78
小结 78
练习 79
3.16 实战Kaggle比赛:房价预测 79
3.16.1 Kaggle比赛 79
3.16.2 读取数据集 80
3.16.3 预处理数据集 81
3.16.4 训练模型 82
3.16.5 k 折交叉验证 82
3.16.6 模型选择 83
3.16.7 预测并在Kaggle提交结果 84
小结 85
练习 85
第4章 深度学习计算 86
4.1 模型构造 86
小结 89
练习 90
4.2 模型参数的访问、初始化和共享 90
小结 94
练习 94
4.3 模型参数的延后初始化 95
小结 96
练习 97
4.4 自定义层 97
小结 99
练习 99
4.5 读取和存储 99
小结 101
练习 101
4.6 GPU计算 101
小结 105
练习 105
第5章 卷积神经网络 106
5.1 二维卷积层 106
小结 110
练习 110
5.2 填充和步幅 111
小结 113
练习 113
5.3 多输入通道和多输出通道 114
小结 117
练习 117
5.4 池化层 117
小结 120
练习 121
5.5 卷积神经网络(LeNet) 121
小结 124
练习 124
5.6 深度卷积神经网络(AlexNet) 124
小结 128
练习 129
5.7 使用重复元素的网络(VGG) 129
5.7.1 VGG块 129
5.7.2 VGG网络 129
5.7.3 训练模型 130
小结 131
练习 131
5.8 网络中的网络(NiN) 131
小结 134
练习 134
5.9 含并行连结的网络(GoogLeNet) 134
小结 137
练习 137
5.10 批量归一化 138
小结 142
练习 142
5.11 残差网络(ResNet) 143
小结 146
练习 146
5.12 稠密连接网络(DenseNet) 147
小结 149
练习 149
第6章 循环神经网络 150
6.1 语言模型 150
小结 152
练习 152
6.2 循环神经网络 152
小结 155
练习 155
6.3 语言模型数据集(歌词) 155
小结 158
练习 159
6.4 循环神经网络的从零开始实现 159
小结 164
练习 164
6.5 循环神经网络的简洁实现 165
小结 168
练习 168
小结 170
练习 170
6.7 门控循环单元(GRU) 170
小结 176
练习 176
6.8 长短期记忆(LSTM) 176
小结 181
练习 182
6.9 深度循环神经网络 182
小结 183
练习 183
6.10 双向循环神经网络 183
小结 184
练习 184
第7章 优化算法 185
7.1 优化与深度学习 185
小结 188
练习 189
7.2 梯度下降和随机梯度下降 189
小结 194
练习 194
7.3 小批量随机梯度下降 194
小结 199
练习 199
7.4 动量法 200
小结 205
练习 205
7.5 AdaGrad算法206
小结 209
练习 209
7.6 RMSProp算法 209
小结 212
练习 212
7.7 AdaDelta算法 212
小结 214
练习 214
7.8 Adam算法 215
小结 217
练习 217
第8章 计算性能 218
8.1 命令式和符号式混合编程 218
小结 224
练习 224
8.2 异步计算 224
小结 229
练习 229
8.3 自动并行计算 229
小结 231
练习 231
8.4 多GPU计算 232
小结 237
练习 237
8.5 多GPU计算的简洁实现 237
小结 241
练习 241
第9章 计算机视觉 242
9.1 图像增广242
小结 250
练习 250
9.2 微调 250
热狗识别 251
小结 255
练习 255
9.3 目标检测和边界框 255
边界框 256
小结 257
练习 257
9.4 锚框 257
小结 265
练习 265
9.5 多尺度目标检测 265
小结 268
练习 268
9.6 目标检测数据集(皮卡丘) 268
小结 270
练习 271
9.7 单发多框检测(SSD) 271
小结 278
练习 278
9.8 区域卷积神经网络(R-CNN)系列280
小结 285
练习 285
9.9 语义分割和数据集 285
小结 290
练习 290
9.10 全卷积网络(FCN) 290
小结 297
练习 297
9.11 样式迁移 298
小结 306
练习 306
9.12 实战Kaggle比赛:图像 分类(CIFAR-10)306
小结 313
练习 313
9.13 实战Kaggle比赛:狗的品种识别(ImageNet Dogs) 314
小结 320
练习 320
第10 章 自然语言处理 321
10.1 词嵌入(word2vec) 321
小结 325
练习 325
10.2 近似训练325
小结 327
练习 328
10.3 word2vec的实现328
小结 336
练习 336
10.4 子词嵌入(fastText) 336
小结 337
练习 337
10.5 全局向量的词嵌入(GloVe)337
小结 340
练习 340
10.6 求近义词和类比词340
小结 343
练习 343
10.7 文本情感分类:使用循环神经网络 343
小结 347
练习 347
10.8 文本情感分类:使用卷积神经网络(textCNN) 347
小结 353
练习 353
10.9 编码器-解码器(seq2seq)353
小结 355
练习 355
10.10 束搜索 355
小结 358
练习 358
10.11 注意力机制 358
小结 361
练习 361
10.12 机器翻译 361
小结 369
练习 369
附录A 数学基础 370
附录B 使用 Jupyter 记事本 376
附录C 使用 AWS 运行代码 381
附录D GPU 购买指南 388
附录E 如何为本书做贡献 391
附录F d2lzh 包索引 395
附录G 中英文术语对照表 397
参考文献 402
索引 407
猜您喜欢