0

I got a question regarding this paper: https://arxiv.org/pdf/1510.02927.pdf

In the Network Architecture they implement something called location biased convolution.

Basically it is 16 2d-gausians appended to the 512 filters of the convolutional layer (See figure 5 from the paper) Picture of Location Biased Convolution.

I want to implement this in PyTorch, but have no clue how to add fixed filters to a convolutional block. The weights should be trained as discussed in the paper.

Can anyone give a hint of what to do or has done this before?

desertnaut
  • 57,590
  • 26
  • 140
  • 166

1 Answers1

0

From what it looks like in the figure you provided, they append the location priors to the data, i.e.

location_priors = generate_gaussians(positions, variances, data.size())
data_w_loc_priors = T.cat((data, location_priors), dim=1)

Now, the number of in_channels for your convolution just needs to be adjusted accordingly: If you had 512 in_channels before, you now have 512 + number of location priors.

Jan
  • 1,180
  • 13
  • 29