欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

torch.nn

程序员文章站 2022-03-04 13:06:03
...

torch.nn 与 torch.nn.functional

说起torch.nn,不得不说torch.nn.functional!
这两个库很类似,都涵盖了神经网络的各层操作,只是用法有点不同,比如在损失函数Loss中实现交叉熵! 但是两个库都可以实现神经网络的各层运算。其他包括卷积、池化、padding、**(非线性层)、线性层、正则化层、其他损失函数Loss,两者都可以实现不过nn.functional毕竟只是nn的子库,nn的功能要多一些,还可以实现如Sequential()这种将多个层弄到一个序列这样复杂的操作。

nn.functional.xxx 是**函数接口**,nn.Xxx 是 .nn.functional.xxx 的**类封装**
nn.Xxx 除了具有 nn.functional.xxx 功能之外,内部附带 nn.Module 相关的属性和方法,eg. train(), eval(), load_state_dict, state_dict

如何看关于torch.nn的 API

首先看左侧,这些都是功能的分类! 比如Containers中就包含了 集合各种神经网络的操作的 容器;
而Convolution Layers则是抱哈了各种卷积操作! 如果我们想要调用的话,不是torch.nn.Containers,而是torch.nn.Moule()、torch.nn.Sequential() 等
torch.nn

torch.nn

torch.nn中某些函数

1. torch.nn.Parameter()

一种张量,被认为是一个模参数。