14 Torch中梯度的计算

Torch中的梯度计算

torch中训练顺序大致如下:

1、optimizer.zero_grad()            		# 将模型的参数梯度初始化为0

2、outputs=model(inputs)        	# 前向传播计算预测值

3、loss = cost(outputs, y_train)      	# 计算当前损失

4、loss.backward()                				# 反向传播计算梯度

5、optimizer.step()                				# 更新所有参数  

注:根据 pytorch 中 backward()函数的计算,当网络参量进行反馈时,梯度是累积计算而不是被替换,因此需要对每个 batch 调用一遍 zero_grad()将参数梯度置0.

posted @ 2021-10-03 18:03  SethDeng  阅读(466)  评论(0编辑  收藏  举报