使用pytorch创建一个线性回归模型的代码
时间: 2023-06-05 11:05:57 浏览: 86
PyTorch搭建一维线性回归模型(二)
可以参考以下代码:
```python
import torch
import torch.nn as nn
# 创建训练集数据
x_train = torch.randn(100, 1) # 输入数据
y_train = 2 * x_train + 1 + torch.randn(100, 1) * 0.1 # 标签数据
# 定义线性回归模型
class LinearRegression(nn.Module):
def __init__(self):
super(LinearRegression, self).__init__()
self.linear = nn.Linear(1, 1)
def forward(self, x):
out = self.linear(x)
return out
model = LinearRegression()
# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# 模型训练
num_epochs = 1000
for epoch in range(num_epochs):
inputs = x_train
labels = y_train
# 向前传播
outputs = model(inputs)
loss = criterion(outputs, labels)
# 反向传播与优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (epoch+1) % 100 == 0:
print('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, num_epochs, loss.item()))
# 测试模型
model.eval()
with torch.no_grad():
predict = model(x_train)
# 打印模型参数
print('模型参数:', model.state_dict())
```
注意:此处提供的代码仅供参考,实际使用时需要根据具体情况进行修改调整。
阅读全文