yuanyuanli85/Stacked_Hourglass_Network_Keras

关于最后的输出选线性激活的问题??

ZhuohaoMai opened this issue · 2 comments

您好,最近我也在可用keras复现HG, 之前的效果一直不好,知道看了您的代码,调整一下参数,有不错的输出;但是把最后的heatmap, print出来,我发现会有负数出现,即使用cv2.imshow画出来的是一个热图相应,但是tensorflow版本的heatmap,print出来是没有负数的。所以我把head_to_loss,那一层由linear激活改成relu激活,想由此避免输出出现负数的情况,但是训练完之后的heatmap,print出来全部都是0,我想问一下,为什么要选用linea激活呢??

你改成Relu后,loss用的还是MSE吗?那你观察过loss在什么范围吗?

这个模型的ground truth 的 heatmap 是一个在Keypoint 高斯分布的区域,loss是用来计算预测和ground truth 两个map的欧氏距离。 是线性的,所以没必要引入非线性的激活函数。

我印象中也有人用softmax作为最后一层的激活函数,但是你构造ground truth的heatmap就要做相应的匹配。

我电脑驱动坏了,装好后,我怕loss的图贴出来