Hi, thank you very much for your work on this code, it has been very useful for me.
The calculation of EMD ends up not being quite accurate enough for my current purposes. I am trying to understand if there are some hardcoded hyperparameters that could be useful to me if I changed them. I am also trying to understand what exactly is the algorithm being used. It looks a little bit like it could be Sinkhorn (in which case I would be changing the regularization parameter), but it is not completely clear and there seems to be some differences so I am not sure.
I notice immediately there is a loop:
for (int j=7;j>=-2;j--){
float level=-powf(4.0f,j);
is changing the number of iterations (7, and -2 above), and the 4.0f in variable 'level' going to be useful for changing the accuracy of the computation?
Hi, thank you very much for your work on this code, it has been very useful for me.
The calculation of EMD ends up not being quite accurate enough for my current purposes. I am trying to understand if there are some hardcoded hyperparameters that could be useful to me if I changed them. I am also trying to understand what exactly is the algorithm being used. It looks a little bit like it could be Sinkhorn (in which case I would be changing the regularization parameter), but it is not completely clear and there seems to be some differences so I am not sure.
I notice immediately there is a loop:
for (int j=7;j>=-2;j--){ float level=-powf(4.0f,j);
is changing the number of iterations (7, and -2 above), and the 4.0f in variable 'level' going to be useful for changing the accuracy of the computation?
Thanks!