用 PyTorch 构建简单神经网络
1. PyTorch 方法概述
之前,我们以 NumPy - PyTorch 混合风格开发了一个简单的两层神经网络。逐行编写每个操作,同时采用了 PyTorch 的自动微分功能,避免手动编写反向传播代码。在此过程中,学会了在 PyTorch 中封装矩阵(或张量),这有助于进行反向传播。
PyTorch 为深度学习项目提供了几乎所有内置功能。由于它支持 Python 中的所有数学函数,若核心库中没有所需函数,构建起来也不困难。而且,PyTorch 会隐式定义所构建功能的导数函数。
PyTorch 对需要了解底层操作的人很有帮助,同时通过 torch.nn 模块提供了高级 API。用户既可以在不了解模型内部细节的情况下构建模型,也可以深入探究模型内部的具体操作,这种灵活性使 PyTorch 成为深度学习社区喜爱的框架之一。
2. 高级 API
高级 API 让初学者能够从头开始构建网络,也让高级用户可以将时间花在其他关键部分,把一些模块交给 PyTorch 处理。PyTorch 中构建神经网络所需的所有模块都是具有 forward 和 backward 函数的 Python 类实例。
当执行神经网络时,实际上是在执行 forward 函数,它会将操作添加到计算图中。由于 PyTorch 知道所有操作的导数函数,因此可以轻松进行反向传播。接下来,我们将代码模块化,构建相同的 FizBuz 网络。
模块化代码的结构是先获取数据,从 NumPy 数据输
超级会员免费看
订阅专栏 解锁全文
8万+

被折叠的 条评论
为什么被折叠?



