Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differences from my implementation #3

Open
harveyslash opened this issue Mar 7, 2018 · 3 comments
Open

Differences from my implementation #3

harveyslash opened this issue Mar 7, 2018 · 3 comments

Comments

@harveyslash
Copy link

Hi,

I maintain my own version https://github.com/Ben-Louis/Deep-Image-Analogy-PyTorch of this paper, but I was unable to get results close to the paper.

However, your results match almost perfectly.
Could you tell me if there is anything different that I am doing, or I should try out ?

@Ben-Louis
Copy link
Owner

Sorry I am busy these days so I cannot explain in detail. The two main differences are:

  1. Deconvolution process: I follow the guide of this issue and deconvolute the feature on one layer (e.g. L4) to the second last layer (e.g. L2) and forward it to the last layer (e.g. L3). Also, I modify the lbfgs algorithm provided by pytorch to make it support line search.

  2. Patchmatch: compared to your initial version of patchmatch, where algorithm search for two directions per iteration, this patchmatch algorithm search for four directions in one iteration. But if you use the wrapped official cuda version of patchmatch, there seems no difference.

I appreciate your implementation very much. It helps me a lot in this project!

@harveyslash
Copy link
Author

i also noticed that you are performing patch averaging in each step. Is this done in the paper too?

Also, did you try using sigmoid function instead of the indicator function ? (the author said that he used indicator just as a fast approximation to sigmoid)

@qhanson
Copy link

qhanson commented Sep 5, 2018

@harveyslash Another difference is that the distance_caculate in your GPU version is different from this repository and the official version. To be more detail, the distance is negative when the number of the channel of the pixel feature is not 3. The results are different with different implementations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants