【论文复现】损失函数的更改
Created by: scott0o0
-
标题:动态图更改损失函数
-
版本、环境信息: 1)PaddlePaddle版本:1.8 3)GPU:2080ti , cuda10.0 4)系统环境:windows , python3.7
-
训练信息 1)单机,单卡
-
复现信息:想更改损失函数进行训练。
-
问题描述:想对yolov3计算的损失函数loss = fluid.layers.yolov3_loss()进行补充,增加一项损失与原先的损失之和作为总损失函数total_loss = loss + loss_add。其中loss_add中有一项是需要计算两个矩阵的欧式距离||X-Y||,如图1: 可我无法做到保留loss_add变量中的梯度特征(stop_gradient=False ),由于是利用动态图编写的方式,不知道如何自定义损失函数。
注:总损失函数total_loss = loss + loss_add中,loss用的是飞桨已有的损失函数fluid.layers.yolov3_loss(),loss_add是我用numpy写的(写完转换成的tensor变量),输入数据都是同一个主干网络中的不同层级的输出(tensor变量)如图2: