pytorch linear函数
时间: 2023-10-23 19:28:42 浏览: 149
pytorch实现线性拟合方式
PyTorch中的`nn.Linear`函数是一个线性变换,它将输入张量与权重矩阵相乘并添加一个偏置向量。它的公式如下所示:
```
output = input * weight^T + bias
```
其中,`input`是输入张量,`weight`是权重矩阵,`bias`是偏置向量,`^T`表示矩阵的转置操作。
在PyTorch中,我们可以通过以下方式使用`nn.Linear`函数:
```python
import torch.nn as nn
# 定义输入张量的形状
input_shape = (10, 20)
# 定义线性层
linear_layer = nn.Linear(in_features=input_shape[1], out_features=30)
# 生成输入张量
input_tensor = torch.randn(*input_shape)
# 进行线性变换
output_tensor = linear_layer(input_tensor)
# 输出结果
print(output_tensor.shape) # 输出 (10, 30)
```
在上面的例子中,我们首先定义了输入张量的形状为`(10, 20)`,即一个形状为`(10, 20)`的二维张量。然后,我们定义了一个`nn.Linear`对象,其中`in_features`参数为输入张量的特征数,即`20`,`out_features`参数为输出张量的特征数,即`30`。接着,我们生成一个随机的输入张量,并将其传入线性层中进行线性变换,得到输出张量`output_tensor`。最后,我们输出了`output_tensor`的形状,即`(10, 30)`,其中`10`是输入张量的批次大小,`30`是输出张量的特征数。
阅读全文