华为计算微信公众号
昇腾AI开发者公众号
华为计算微博
华为计算今日头条
def forward_fn(inputs, targets): logits = model(inputs) loss = criterion(logits, targets) return loss, logits # get grad function grad_fn = ms.value_and_grad(forward_fn, None, optimizer.parameters, has_aux=True) # define train step function def train_step(inputs, targets): (loss, logits), grads = grad_fn(inputs, targets) # get values and gradients print('grads=',grads) optimizer(grads) # update gradient return loss, logits
在模型训练时,损失loss和输出logits都可以正常输出,但梯度grads一直全为0,这种情况是我的模型有问题还是参数设置问题呢?
我要发帖子
def forward_fn(inputs, targets): logits = model(inputs) loss = criterion(logits, targets) return loss, logits # get grad function grad_fn = ms.value_and_grad(forward_fn, None, optimizer.parameters, has_aux=True) # define train step function def train_step(inputs, targets): (loss, logits), grads = grad_fn(inputs, targets) # get values and gradients print('grads=',grads) optimizer(grads) # update gradient return loss, logits在模型训练时,损失loss和输出logits都可以正常输出,但梯度grads一直全为0,这种情况是我的模型有问题还是参数设置问题呢?