Partial convergence padding vs reflection, zero, etc

Last night Jeremy mentioned using reflection padding for upcoming stuff (lesson 11)…however, I have been working with partial convergence padding (Nvidia research, Nov 18) and in that paper they show that for a number of datasets, partial conv padding outperforms all the other padding types (which was why I started using it on a facial keypoint project).
They also note that in their experience, reflection and replication perform worse than zero padding, in theory b/c they are creating unrealistic images with their attempts to reuse border image data.

I am putting partialconv padding into the lesson 11 notebooks to test it out with the new framework (lsuv, etc), but did want to highlight this type of padding as it seems reflection is going to be used for the next lesson(s), but partial conv appears to outperform it.

Thus, my question - is there other test data showing reflection is the optimal choice, or reason to choose reflection over partial conv?

example test results:

Here’s the paper:


I’m curious about this as well. I’ve tried zero and found reflection worked a bit better for image classification, particularly when aggressively augmenting the images, but I haven’t tried partial convergence before.

Channelling my inner Jeremy, I’m guessing his response to this post will be something along the lines of “Why don’t you try it out and see whether it performs better for your use case and report back here.” :wink:

It does seem like a powerful technique, and if you’re having success with it it would be great to integrate it into the library. Given source code it should hopefully be pretty straightforward, although those are famous last words in my experience. :slight_smile:

1 Like

I’m definitely planning to run it and test on the new Imagenette dbs, so I can try to setup and test reflection, zero and partial and see, and will update with my results!


Thanks for the great link. BTW for rn50, which is our focus, they seem to show reflection being better than zero (by a tiny bit) in your table?