I am using grid_sample function, that
torch.nn.functional.grid_sample(input, grid, mode='bilinear', padding_mode='zeros')

I want to construct a random grid and it trained with the network. The scrip likes
class Network(nn.Module):
    def __init__(self):
          self.rnd_grid_tensor = ... (required_grad=True)

   def forward(self,input):
        output = torch.nn.functional.grid_sample(input, self.rnd_grid_tensor, mode='bilinear', padding_mode='zeros')
        return output

How to generate the rnd_grid_tensor so that the value in the grid followed by gaussian distribution. Thanks
This is my solution but I am not sure is it correct or not
from torch.autograd import Variable
def gaussian(ins, is_training, mean, stddev):
  if is_training:
      noise = Variable(ins.data.new(ins.size()).normal_(mean, stddev))
      return ins + noise
  return ins

grid = torch.rand((1,2,16,16), requires_grad=True)
grid = gaussian (grid, True, 1, 0.1)