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

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



