pytorch统计模型参数代码
时间: 2023-10-01 17:04:35 浏览: 42
以下是一个使用 PyTorch 计算统计模型参数的示例代码:
```python
import torch
import torch.nn as nn
import numpy as np
# 定义模型
class MyModel(nn.Module):
def __init__(self):
super(MyModel, self).__init__()
self.linear = nn.Linear(3, 1)
def forward(self, x):
return self.linear(x)
# 生成随机数据
X = torch.from_numpy(np.random.rand(100, 3).astype(np.float32))
y = torch.from_numpy(np.dot(X.numpy(), [4, 5, 6]) + 7).unsqueeze(1)
# 实例化模型
model = MyModel()
# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# 训练模型
for epoch in range(100):
# 前向传播
y_pred = model(X)
# 计算损失
loss = criterion(y_pred, y)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 打印参数
for name, param in model.named_parameters():
if param.requires_grad:
print(name, param.data)
```
这个代码使用了 PyTorch 库来生成随机数据,并使用一个简单的线性模型来拟合这些数据。它首先生成一个形状为 (100, 3) 的随机矩阵 X 和一个形状为 (100, 1) 的随机向量 y,然后定义一个包含一个线性层的模型。它还定义了一个均方误差损失函数和一个随机梯度下降优化器。接下来,它在数据上进行 100 次训练迭代,并在训练结束后打印出模型参数。