DeepAlignmentNetwork icon indicating copy to clipboard operation
DeepAlignmentNetwork copied to clipboard

new with on stage is even better than which with two stage

Open lucaslu1987 opened this issue 6 years ago • 10 comments

Hi Marek, i run DANtest.py and want to know the performance of different stage. However, the result of the network with one stage is even better. The data set is initialized as the paper said.below is the test result.(i used center distance) OneStage Processing common subset of the 300W public test set (test sets of LFPW and HELEN) Average error: 0.428566349505 Processing challenging subset of the 300W public test set (IBUG dataset) Average error: 0.598229653794 Showing results for the entire 300W pulic test set (IBUG dataset, test sets of LFPW and HELEN Average error: 0.461809522334 TwoStage Processing common subset of the 300W public test set (test sets of LFPW and HELEN) Average error: 0.439570144885 Processing challenging subset of the 300W public test set (IBUG dataset) Average error: 0.616254202783 Showing results for the entire 300W pulic test set (IBUG dataset, test sets of LFPW and HELEN Average error: 0.474188937071

lucaslu1987 avatar Apr 15 '18 02:04 lucaslu1987

Hi,

Those results are a bit surprising, as the error for the IBUG dataset you obtained seems to be much lower than any paper I have seen so far. Are you sure you are measuring this correctly?

If you want, you can place the models you have in some public data storage like Dropbox and send me the link, so I can re-evaluate it. This would help rule out the possibility of measurement error.

Best regards,

Marek

MarekKowalski avatar Apr 16 '18 16:04 MarekKowalski

@MarekKowalski Hi, in the training phase, did you hold the learning rate fixed to be 0.001? If I use learning rate 0.001, then the loss in stage 2 cannot drop.

mariolew avatar Apr 18 '18 11:04 mariolew

Yes, the learning rate was kept the same. When you are training the second stage are you updating the parameters for both stages or just stage 2?

In my experience, if you are updating parameters of both stages at the same time, the error takes much longer to drop.

MarekKowalski avatar Apr 18 '18 16:04 MarekKowalski

@MarekKowalski Actually, I only update parameters for stage 2, but I can see error drop only when I lower down the learning rate.

mariolew avatar Apr 19 '18 10:04 mariolew

That's surprising, for how long are you trying to see if the error starts droping? Also, is that in your implementation or in the one in this repo?

MarekKowalski avatar Apr 19 '18 16:04 MarekKowalski

@MarekKowalski I mean in my implementation, I only observe error drop with my learning rate lower down. And, someone has found almost the same problem in another tensorflow implementation. I've double checked the functionality of the self defined layer and found no problem, I don't know if the Adam is implemented differently in theano, or Batch Norm is implemented differently.

mariolew avatar Apr 20 '18 02:04 mariolew

I agree that it might be because TF has a different implementation of some part of the learning algorithm or the network.

MarekKowalski avatar Apr 23 '18 19:04 MarekKowalski

@MarekKowalski @mariolew Hi In my implementation on tensorflow, I have not found this problem. i use a private dataset , and epoch is [15,45]

image

zjjMaiMai avatar Apr 24 '18 09:04 zjjMaiMai

i want to know if both stages share parameters in the same layer?

jnulzl avatar Apr 27 '18 13:04 jnulzl

No the parameter values are not shared between the stages.

Marek

MarekKowalski avatar Apr 27 '18 20:04 MarekKowalski