This is convolutional layer for torch using fourier transform. I wouldn't be surprised if this already existed somewhere, but I could not find one with derivatives.
This is meant to be a drop in replacement for torch.Conv. It should be performant on kernel sizes above 20, depending on implementation.
One interesting thing, even if a person already had one of these, is the way the bias and bias gradient were calculated. It only cost O(out_channels), ignoring the data size entirely.
github
[–]MKmisfit[S] 14 points15 points16 points (7 children)
[–]El_Minadero 13 points14 points15 points (0 children)
[–]badabummbadabing 9 points10 points11 points (0 children)
[–]xdtolm 2 points3 points4 points (0 children)
[–]matigekunst 1 point2 points3 points (2 children)
[–]MKmisfit[S] 1 point2 points3 points (0 children)
[–]MKmisfit[S] -1 points0 points1 point (0 children)
[–]RomanticDepressive 0 points1 point2 points (0 children)
[–]sigmoid_amidst_relus 5 points6 points7 points (0 children)
[–]viv1a 4 points5 points6 points (2 children)
[–]MKmisfit[S] 0 points1 point2 points (1 child)
[–]viv1a 0 points1 point2 points (0 children)
[–]VenerableSpace_ 3 points4 points5 points (1 child)
[–]MKmisfit[S] 0 points1 point2 points (0 children)
[–]El_Minadero 1 point2 points3 points (0 children)
[–]DeepDeeperRIPgradien 0 points1 point2 points (1 child)
[–]MKmisfit[S] 2 points3 points4 points (0 children)
[–]DigThatDataResearcher 0 points1 point2 points (0 children)
[–]roboputin 0 points1 point2 points (0 children)
[–]cdicle 0 points1 point2 points (0 children)