自定义损失函数无法自动求梯度。
Created by: scott0o0
为使您的问题得到快速解决,在建立Issues前,请您先通过如下方式搜索是否有相似问题:【搜索issue关键字】【使用labels筛选】【官方文档】
如果您没有查询到相似问题,为快速解决您的提问,建立issue时请提供如下细节信息:
-
标题:简洁、精准概括您的问题,例如“Insufficient Memory xxx" ”
-
版本、环境信息: 1)PaddlePaddle版本:paddlepaddle 1.8 3)GPU:2080ti cuda10.0 4)系统环境:请您描述系统类型、版本,例如Mac OS 10.14,Python版本
-
问题描述:
想对yolov3计算的损失函数loss = fluid.layers.yolov3_loss()进行补充,增加一项损失与原先的损失之和作为总损失函数total_loss = loss + loss_add。 其中loss_add中有一项是需要计算两个不同层级输出的图像特征矩阵的2范数:||X-Y||^2(两个图像特征的shape一致,如下图所示),可我无法做到计算完成之后保留梯度特征(stop_gradient=False 这一行就不见了) 在官方文档中也找不到自定义损失函数的示例。希望大佬可以提供一下解决方法,可以使修改后的损失函数能够自动求梯度,不胜感激!