2021-05-16

本文介绍了PyTorch中nn.Module的初始化和forward方法,阐述了nn.Linear如何创建线性模型,并解释了nn.Module如何通过_call_方法调用forward进行前向传播。同时,讲解了优化器如SGD和Adam的使用,包括参数初始化、梯度清零、反向传播和参数更新的过程。此外,还提到了损失函数nn.MSELoss在模型训练中的作用。

pytorchAPI使用

1.nn.Module

1._init_

2.forward完成一次向前计算的过程

1.nn.Linear为torch预定义好的线性模型,也被称为全连接层,是不算(batch_size的列数)实例化:self.linear=nn.Linear(输入的特征数量,输出的特征数量)

2.nn.Module定义了_call_方法,实现的就是调用forward方法,即Lr的实例,能够直接被传入参数调用,实际上调用的是forward方法并传入参数

linear类中也有_init_方法和forward方法

#实例化模型

model=Lr()

#传入数据,计算结果

predict=model(x)

2.优化器类

1.torch.optim

torch.optim.SGD(model.parameters,学习率)

torch.optim.Adam(模型参数,学习率)

model.parameters()可以获取所有requires_grad=True的参数

优化类的使用方法

optimizer=torch.optim.SGD(model.parameters,lr=1e-3)   实例化

optimizer.zero_grad()梯度置为0

loss.backward() 计算梯度

optimizer.step()  更新参数的值

3.损失函数

nn.MSELoss

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值