Open Watebear opened 3 years ago
您好,我按照您的提示,训练模型,遇到如下的问题:
请问您在使用模型标注的 pose 信息时,是对所有人脸框进行标注,还是只对 有 landmarks 的标注? 同理,在计算 loss 的时候,是根 landmarks 保持一致吗?
在 multi-box-loss 中,我将 pose 部分与 landmarks 的处理保持一致(用 pos1 来选择)。 将网络输出的数值: yaw_data = F.softmax(yaw_data) pitch_data = F.softmax(pitch_data) roll_data = F.softmax(roll_data)
yaw_data = torch.sum(yaw_data.data * idx_tensor, dim=2) * 3 - 99 pitch_data = torch.sum(pitch_data.data * idx_tensor, dim=2) * 3 - 99 roll_data = torch.sum(roll_data.data * idx_tensor, dim=2) * 3 - 99 yaw_p = yaw_data[pos1].view(-1, 1) yaw_t = yaw_t[pos1].view(-1, 1) pitch_p = pitch_data[pos1].view(-1, 1) pitch_t = pitch_t[pos1].view(-1, 1) roll_p = roll_data[pos1].view(-1, 1) roll_t = roll_t[pos1].view(-1, 1) loss_yaw = F.smooth_l1_loss(yaw_p, yaw_t, reduction='sum') loss_pitch = F.smooth_l1_loss(pitch_p, pitch_t, reduction='sum') loss_roll = F.smooth_l1_loss(roll_p, roll_t, reduction='sum') loss_yaw /= N1 loss_pitch /= N1 loss_roll /= N1
但发现 loss_yaw, loss_pitch, loss_roll 不收敛,训练几个 epoch 后: loss_yaw /= N1 loss_pitch /= N1 loss_roll /= N1
请问这里该如何处理? 期待您的指导!谢谢!
@Watebear
您好,我按照您的提示,训练模型,遇到如下的问题:
请问您在使用模型标注的 pose 信息时,是对所有人脸框进行标注,还是只对 有 landmarks 的标注? 同理,在计算 loss 的时候,是根 landmarks 保持一致吗?
在 multi-box-loss 中,我将 pose 部分与 landmarks 的处理保持一致(用 pos1 来选择)。 将网络输出的数值: yaw_data = F.softmax(yaw_data) pitch_data = F.softmax(pitch_data) roll_data = F.softmax(roll_data)
但发现 loss_yaw, loss_pitch, loss_roll 不收敛,训练几个 epoch 后: loss_yaw /= N1 loss_pitch /= N1 loss_roll /= N1
请问这里该如何处理? 期待您的指导!谢谢!