方法一:手动计算变量的梯度,然后更新梯度 import torchfrom torch.autograd import Variable# 定义参数w1 = Variable(torch.FloatTensor([1,2,3]),requires_grad = True)# 定义输出d = torch.mean(w1)# 反向求导d.backward()# 定义学习率等参数lr = 0.001#
方法一:手动计算变量的梯度,然后更新梯度
一个网络中通常有很多变量,如果按照上述的方法手动求导,然后更新参数,是很麻烦的,这个时候可以调用torch.optim 方法二:使用torch.optim
注意:torch.optim只用于参数更新和对参数的梯度置0,不能计算参数的梯度,在使用torch.optim进行参数更新之前,需要写前向与反向传播求导的代码 |
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27