def forward(self, input): offset = self.conv_offset(input) return DeformConvFunction.apply(input, offset, self.weight, self.bias, self.stride, self.padding, self.dilation, self.groups, self.deformable_groups, self.im2col_step)
def forward(self, input, offset): assert 2 * self.deformable_groups * self.kernel_size[0] * self.kernel_size[1] == \ offset.shape[1] return DeformConvFunction.apply(input, offset, self.weight, self.bias, self.stride, self.padding, self.dilation, self.groups, self.deformable_groups, self.im2col_step)
def forward(self, input): pano_W = input.shape[3] pano_H = input.shape[2] bs = input.shape[0] #stop gradient here #print(self.kernel_size[0],self.kernel_size[1]) #print(type(self.kernel_size[1])) if (self.offset_set == 0): self.offset = distortion_aware_map(pano_W, pano_H, self.kernel_size[0], self.kernel_size[1], s_width=self.stride[0], s_height=self.stride[1], bs=bs) self.offset_set = 1 return DeformConvFunction.apply(input, self.offset, self.weight, self.bias, self.stride, self.padding, self.dilation, self.groups, self.deformable_groups, self.im2col_step)