pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()相关的知识,希望对你有一定的参考价值。

在torch的官方文档中,我们可以看到,在torch.nn.Linear()中包装了 torch.nn.function.linear()

毕竟两者的作用都是计算WX+b

但使用上还是有一定的区别的

1 nn.Linear()

他自己实现了初始化,所以调用linear时候的形参是输入和输出的维度即可

import torch
x=torch.nn.Linear(5,2)

data=torch.range(0,24).reshape(5,5)

data
'''
tensor([[ 0.,  1.,  2.,  3.,  4.],
        [ 5.,  6.,  7.,  8.,  9.],
        [10., 11., 12., 13., 14.],
        [15., 16., 17., 18., 19.],
        [20., 21., 22., 23., 24.]])
'''

x(data)
'''
tensor([[ 0.8468, -1.4685],
        [ 0.5045, -2.9832],
        [ 0.1622, -4.4980],
        [-0.1801, -6.0127],
        [-0.5224, -7.5275]], grad_fn=<AddmmBackward>)
'''

2 F.linear

weight=torch.randn(2,5)
weight
'''
tensor([[-0.5954, -1.3873, -2.1906, -1.0782, -0.0561],
        [-1.0716, -1.7687, -1.3936, -0.5306,  0.0729]])
'''

bias=torch.randn(5,2)
bias
'''
tensor([[-0.4511, -0.3892],
        [ 1.2683,  1.3100],
        [-0.3304, -0.8511],
        [-0.0068, -0.9265],
        [-0.4657,  1.5505]])
'''

torch.nn.functional.linear(data,weight,bias)
'''
tensor([[  -9.0075,   -5.6360],
        [ -36.5703,  -30.1186],
        [ -63.2932,  -53.7614],
        [ -88.9689,  -76.3569],
        [-115.5863,  -99.8941]])
'''

以上是关于pytorch 笔记:torch.nn.Linear() VS torch.nn.function.linear()的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch学习笔记:PyTorch进阶训练技巧

PyTorch学习笔记:模型定义修改保存

Pytorch实战笔记

PyTorch学习笔记:PyTorch可视化

pytorch学习笔记

Pytorch学习笔记:基本概念安装张量操作逻辑回归