Torch学习 线性回归的简洁实现

1.生成数据集

num_inputs=2
num_examples=1000
true_w=[2,-3.4]
true_b=4.2
features=torch.tensor(np.random.normal(0,1,(num_examples,num_inputs)),dtype=torch.float)
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.float)

2.读取数据

PyTorch提供了data包来读取数据。由于data常用作变量名,我们将导入的data模块用Data代替。在每一次迭代中,我们将随机读取包含10个数据样本的小批量。

import torch.utils.data as Data
batch_size=10
# 将训练数据的特征和标签组合
dataset=Data.TensorDataset(features,labels)
#随机读取小批量
data_iter=Data.DataLoader(dataset,batch_size,shuffle=True)
#data_iter的使用跟前面的类似,读取并打印第一个小批量数据样本
for X,y in data_iter:
    print(X,y)
    break
tensor([[-0.8819,  0.0828],
        [ 0.2298,  0.7712],
        [-0.3712, -1.8766],
        [-0.3710,  0.2108],
        [-1.4011,  0.1674],
        [-0.7357, -0.4200],
        [-0.6656,  1.3309],
        [-0.2409, -1.4489],
        [-0.9532,  0.1188],
        [-0.3495,  0.5370]]) tensor([ 2.1645,  2.0388,  9.8156,  2.7300,  0.8326,  4.1682, -1.6513,  8.6493,
         1.8920,  1.6803])

3.定义模型

PyTorch提供了大量预定义的层,这使我们只需关注使用哪些层来构造模型。下面将介绍如何使用PyTorch更简洁地定义线性回归。
首先,导入torch.nn模块。实际上,“nn”是neural networks(神经网络)的缩写。顾名思义,该模块定义了大量神经网络的层。之前我们已经用过了autograd,而nn就是利用autograd来定义模型。nn的核心数据结构是Module,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值