定义模型,并初始化参数(利用torch.tensor进行定义,并指明需要计算梯度:requires_grad=True)
时间: 2024-02-11 17:06:48 浏览: 72
pytorch 模型可视化的例子
下面是一个利用`torch.tensor`定义并初始化参数的例子,其中包含了一个全连接层(Linear),一个ReLU激活函数和一个输出层:
```python
import torch
# 定义输入和输出的维度
input_dim = 2
output_dim = 1
# 初始化模型参数
weights1 = torch.tensor([[0.1, 0.2], [0.3, 0.4]], dtype=torch.float, requires_grad=True)
bias1 = torch.tensor([0.1, 0.2], dtype=torch.float, requires_grad=True)
weights2 = torch.tensor([[0.5], [0.6]], dtype=torch.float, requires_grad=True)
bias2 = torch.tensor([0.3], dtype=torch.float, requires_grad=True)
# 定义模型结构
def model(x):
hidden = torch.matmul(x, weights1) + bias1
hidden = torch.relu(hidden)
output = torch.matmul(hidden, weights2) + bias2
return output
```
在上面的例子中,我们定义了一个输入维度为2,输出维度为1的模型。我们使用`torch.tensor`函数来定义了模型的参数,其中`requires_grad=True`表示我们需要计算这些参数的梯度。我们定义了一个全连接层,它的权重和偏置项分别为`weights1`和`bias1`,然后将输入数据`x`乘以权重并加上偏置项得到隐藏层的输出,再经过ReLU激活函数得到激活后的隐藏层输出,最后将隐藏层输出乘以输出层的权重并加上输出层的偏置项得到最终的输出。
阅读全文