查官方文档的api https://pytorch.org/docs/stable/nn.html

如下:
在这里插入图片描述
官方给的例子为:

>>> m = nn.Linear(20, 30)
>>> input = torch.randn(128, 20)
>>> output = m(input)
>>> print(output.size())
torch.Size([128, 30])

那么为什么会是这样子呢?聪明的你肯定看出来端倪了
是不是对于矩阵来说:

[128, 30] = [128, 20] * [20, 30]

简单来说, out = input * (nn.Linear()定义的矩阵) + bias
(默认都是加了bias的)
所以nn.Linear()有啥用呢?
我的理解就是,用做全连接层二维的输入输出的节点的数目转化.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐