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

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



