import torch import torch.nn as nn import torch.optim as optim import numpy as np import matplotlib.pyplot as plt # 生成示例数据 np.random.seed(42) x = np.random.rand(100, 1) y = 3 * x + 2 + np.random.randn(100, 1) * 0.1 # 转换为PyTorch张量 x_train = torch.tensor(x, dtype=torch.float32) y_train = torch.tensor(y, dtype=torch.float32) # 定义线性回归模型 class LinearRegressionModel(nn.Module): def __init__(self): super(LinearRegressionModel, self).__init__() self.linear = nn.Linear(1, 1) def forward(self, x): return self.linear(x) # 实例化模型 model = LinearRegressionModel() # 定义损失函数和优化器 criterion = nn.MSELoss() optimizer = optim.SGD(model.parameters(), lr=0.01) # 训练模型 num_epochs = 1000 for epoch in range(num_epochs): outputs = model(x_train) loss = criterion(outputs, y_train) optimizer.zero_grad() loss.backward() optimizer.step() if