线性回归模型假设输出与输入之间是线性关系.
线性回归模型基本思路:
定义模型/初始化模型参数—前向传播/计算预测值/计算损失—反向传播/更新权值.
1.读取数据集/生成数据集
#导入相关计算包
import torch
from torch import nn
import numpy as np
torch.manual_seed(1)
print(torch.version)
torch.set_default_tensor_type(‘torch.FloatTensor’)
num_inputs = 2 #数据的维度
num_examples = 1000 #数据个数
true_w = [2, -3.4] #权重
true_b = 4.2 #偏置
#生成数据集
features = torch.randn(num_examples, num_inputs,
dtype=torch.float32)
#计算输出
labels = true_w[0] * features[:, 0] + true_w[1] * features[:, 1] + true_b
#随机调整输出
labels += torch.tensor(np.random.normal(0, 0.01, size=labels.size()),dtype=torch.float32)
2.读取数据集
import torch.utils.data as Data
batch_size = 10
dataset = Data.TensorDataset(features, labels)
data_iter = Data.DataLoader(
dataset=dataset, # to