pytorch中dense函数
时间: 2023-12-11 22:53:05 浏览: 180
PyTorch中的`torch.nn.functional.dense`函数实现了一个全连接层(也称为稠密层或线性层),它将输入张量与权重张量相乘并添加偏置,然后将结果通过一个激活函数。其函数签名为:
```
torch.nn.functional.linear(input, weight, bias=None)
```
其中,`input`是形状为 $[N, \text{in\_features}]$ 的输入张量,$N$ 是批次大小,`in_features` 是输入特征数;`weight`是形状为 $[\text{out\_features}, \text{in\_features}]$ 的权重张量,其中 `out_features` 是输出特征数;`bias`是一个可选的形状为 $[\text{out\_features}]$ 的偏置张量。函数返回的是形状为 $[N, \text{out\_features}]$ 的张量。
可以使用`nn.Linear`模块来代替`nn.functional.linear`函数。`nn.Linear`模块与`nn.functional.linear`函数的使用方式非常相似,但是模块会自动创建权重和偏置张量,并且可以方便地将它们移动到GPU上。下面是一个使用`nn.Linear`模块的示例:
```
import torch.nn as nn
# 创建一个全连接层,输入特征数为3,输出特征数为4
linear = nn.Linear(3, 4)
# 输入张量
x = torch.randn(2, 3)
# 使用全连接层进行前向计算
y = linear(x)
print(y.shape) # 输出:torch.Size([2, 4])
```
阅读全文