低级 API 允许你构建所谓的计算图。这个图定义了如何通过给定的输入参数计算输出(通常是损失函数),并且可以在 GPU 上运行计算(如果可用)。这些框架提供了对计算图进行微分以计算梯度的功能,这些梯度可以用于优化模型参数。
高级 API 将神经网络视为层的序列,使得构建大多数神经网络变得更加简单。训练模型通常只需要准备数据,然后调用一个 函数即可完成。
fit
高级 API 允许你快速构建典型的神经网络,而无需担心许多细节。同时,低级 API 提供了对训练过程的更多控制,因此在研究新型神经网络架构时经常使用。
需要注意的是,你可以同时使用这两种 API。例如,你可以使用低级 API 开发自己的网络层架构,然后将其嵌入到使用高级 API 构建和训练的更大网络中。或者,你可以使用高级 API 将网络定义为层的序列,然后使用自己的低级训练循环进行优化。这两种 API 使用相同的基本概念,并且设计为能够很好地协同工作。
学习
在本课程中,我们为 PyTorch 和 TensorFlow 提供了大部分内容。你可以选择自己喜欢的框架,只学习对应的笔记本。如果你不确定选择哪个框架,可以在网上查阅一些关于 PyTorch vs. TensorFlow 的讨论。你也可以同时了解这两个框架以获得更好的理解。
在可能的情况下,我们会为了简化使用高级 API。然而,我们认为从基础上理解神经网络的工作原理非常重要,因此在开始时我们会从低级 API 和张量操作入手。不过,如果你想快速入门,不想花太多时间学习这些细节,可以直接跳到高级 API 的笔记本。