Exemplo n.º 1
0
    def model2(self):
        input_dim = 4
        output_dim = 1
        model = Model2.LinearRegressionModel(input_dim, output_dim)
        criterion = nn.MSELoss()  # 损失函数为均方差

        learning_rate = 0.01
        self.optimizer21 = torch.optim.SGD(model.parameters(),
                                           lr=learning_rate)
        '''训练网络'''

        for epoch in range(self.epochs21):
            epoch += 1
            # 清空梯度参数
            self.optimizer21.zero_grad()
            # 获得输出
            outputs = model(self.x)
            # 计算损失
            loss = criterion(outputs, self.y)

            # 反向传播
            loss.backward()
            # 更新参数
            self.optimizer21.step()
        return model
Exemplo n.º 2
0
 def __init__(self):
     self.train_number = 200
     self.model11 = Model1.NonLinearRegression()
     self.model21 = Model2.LinearRegressionModel(4, 1)
     learning_rate = 0.01
     self.optimizer11 = torch.optim.SGD(self.model11.parameters(),
                                        lr=learning_rate)
     self.optimizer21 = torch.optim.SGD(self.model21.parameters(),
                                        lr=learning_rate)
     self.max = 0
     self.min = 0