Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
After being frustrated so many times with deconvolution artifacts, I decided to try out bilinear upsampling and it turns out this already existed in Theano, so I thought it would be reasonable to contribute this as a layer to Lasagne. I have tried this so far with some of my research involving pix2pix (conditional image-to-image translation with GANs), and the use of this + followed by a shape-preserving convolution (i.e., a conv with padding=same) gave me much better outputs than simply using deconv!
You can read more about it here:
http://distill.pub/2016/deconv-checkerboard/
Admittedly, my unit test
test_get_output_for
is a bit crude -- it simply checks the output shape, and not against a Numpy implementation of bilinear upsampling. Apart from that, everything seems to look ok. Feel free to offer suggestions, etc. I'd love to see this kind of layer upstream.