Mindspore模型训练梯度为0
收藏回复举报
Mindspore模型训练梯度为0
t('forum.solved') 已解决
发表于2023-11-02 11:42:59
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,这种情况是我的模型有问题还是参数设置问题呢?

我要发帖子