附录 A — 关于数据

本文大部分数据都是开源的,你可以在不同的平台上找到它们。

1. MNIST 数据集

各列说明:

章节 8

1. 北京 PM2.5 数据

数据各列说明:

variable_name type description units missing_values
No Integer 序号 0
year Integer 年份 0
month Integer 月份 0
day Integer 日期 0
hour Integer 小时 0
pm2.5 Integer PM2.5 浓度 μg/m^3 2067
DEWP Integer 露点温度 C 0
TEMP Integer 气温 C 0
PRES Integer 大气压 hPa 0
cbwd Categorical 综合风向 0
Iws Integer 累计风速 m/s 0
Is Integer 累计降雪小时数 0
Ir Integer 累计降雨小时数 0

2. IMDB 电影评论数据集

原始数据存储为文本文件(每个评论一个 .txt 文件),分布在 train/pos, train/neg, test/pos, test/neg 文件夹中。

3. GloVe 预训练词向量

关于提示块 (callout block) 的说明:

提示

这是 tip(技巧):用于提供“捷径”、最佳实践或优化建议。

适用场景:比如建议读者:“提示:使用 GPU 可以将这段训练代码的速度提升 10 倍。”这是为了让读者做得更好、更快。

注记

这是 note(备注):用于补充背景知识、来源说明或非关键信息。

适用场景:比如你在书中介绍某个算法时,顺便提一句:“注:该算法最早由 Yann LeCun 在 1998 年提出。”读者即使跳过这段话,也不影响对后续代码的理解。

重要

这是 important(重要):虽然不是报错警告,但如果你不读这段话,可能会导致概念理解错误。

适用场景:比如在讲解核心逻辑前:“重要:在继续下一章之前,请务必理解‘动态计算图’的概念,否则你将无法看懂后面的自定义层代码。”

注意

这是 caution(小心):用于提醒常见的陷阱、容易犯的错或性能问题。

适用场景:比如代码可能报错但不致命的情况:“注意:如果在 CPU 上运行此函数,由于内存限制,可能会导致 R 此时响应变慢。”

警告

这是 warning(警告):用于警示破坏性操作、不可逆的后果或严重错误。

适用场景:这是最高级别的警示:“警告!该操作会清空当前目录下所有的模型检查点(Checkpoints),请确保你已经做好了备份。”