注:本代码在jupyter notebook上运行
封面图片来源
1、生成数据集
%matplotlib inline
import random
import torch
from d2l import torch as d2l
构造数据集:生成一个包含1000个样本的数据集, 每个样本包含从标准正态分布中采样的2个特征。
def synthetic_data(w, b, num_examples): #@save
"""生成y=Xw+b+噪声"""
X = torch.normal(0, 1, (num_examples, len(w))) # [1000,2]
y = torch.matmul(X, w) + b # [1000,2]*[2, 1]=[1000, 1]
y += torch.normal(0, 0.01, y.shape)
# return X, y.reshape((-1, 1)) # 不用reshape应该也行
return X, y
true_w = torch.tensor([2, -3.4])
true_b = 4.2
features, labels = synthetic_data(true_w, true_b, 1000)
print