def forward( ctx, input1, input2, pad_size=3, kernel_size=3, max_displacement=20, stride1=1, stride2=2, corr_multiply=1 ): ctx.save_for_backward(input1, input2) ctx.pad_size = pad_size ctx.kernel_size = kernel_size ctx.max_displacement = max_displacement ctx.stride1 = stride1 ctx.stride2 = stride2 ctx.corr_multiply = corr_multiply with torch.cuda.device_of(input1): rbot1 = input1.new() rbot2 = input2.new() output = input1.new() correlation_cuda.forward( input1, input2, rbot1, rbot2, output, ctx.pad_size, ctx.kernel_size, ctx.max_displacement, ctx.stride1, ctx.stride2, ctx.corr_multiply, ) return output
def forward(self, input1, input2): self.save_for_backward(input1, input2) with torch.cuda.device_of(input1): rbot1 = input1.new() rbot2 = input2.new() output = input1.new() correlation_cuda.forward(input1, input2, rbot1, rbot2, output, self.pad_size, self.kernel_size, self.max_displacement,self.stride1, self.stride2, self.corr_multiply) return output
def forward(ctx, input1, input2, pad, kernel, max_d, stride1, stride2, corr_m): ctx.save_for_backward(input1, input2) ctx.arg = pad, kernel, max_d, stride1, stride2, corr_m rbot1 = torch.empty_like(input1) rbot2 = torch.empty_like(input2) output = torch.empty_like(input1) correlation_cuda.forward(input1, input2, rbot1, rbot2, output, pad, kernel, max_d, stride1, stride2, corr_m) return output
def forward(self, input1, input2): self.save_for_backward(input1, input2) rbot1 = torch.empty_like(input1) rbot2 = torch.empty_like(input2) output = torch.empty_like(input1) correlation_cuda.forward(input1, input2, rbot1, rbot2, output, self.pad_size, self.kernel_size, self.max_displacement, self.stride1, self.stride2, self.corr_multiply) return output
def forward(ctx, input1, input2, params): ctx.save_for_backward(input1, input2) with torch.cuda.device_of(input1): rbot1 = input1.new() rbot2 = input2.new() output = input1.new() correlation_cuda.forward( input1, input2, rbot1, rbot2, output, params.pad_size, params.kernel_size, params.max_displacement, params.stride1, params.stride2, params.corr_multiply ) return output
def forward(self, input1, input2): self.save_for_backward(input1, input2) kH, kW = self.kernel_size patchH, patchW = self.patch_size padH, padW = self.padding dilation_patchH, dilation_patchW = self.dilation_patch dH, dW = self.stride output = correlation_cuda.forward( input1, input2, kH, kW, patchH, patchW, padH, padW, dilation_patchH, dilation_patchW, dH, dW, ) return output
def forward(ctx, input1, input2, pad_size, kernel_size, max_displacement, stride1, stride2, corr_multiply): ctx.save_for_backward(input1, input2) ctx.pad_size, ctx.kernel_size, ctx.max_displacement, ctx.stride1, ctx.stride2, ctx.corr_multiply =\ pad_size, kernel_size, max_displacement, stride1, stride2, corr_multiply with torch.cuda.device_of(input1): rbot1 = input1.new() rbot2 = input2.new() output = input1.new() #correlation_cuda.forward(input1, input2, rbot1, rbot2, output, # self.pad_size, self.kernel_size, self.max_displacement,self.stride1, self.stride2, self.corr_multiply) correlation_cuda.forward(input1, input2, rbot1, rbot2, output, ctx.pad_size, ctx.kernel_size, ctx.max_displacement, ctx.stride1, ctx.stride2, ctx.corr_multiply) return output
def forward(ctx, input1, input2, param_dict): ctx.save_for_backward(input1, input2) ctx.pad_size = param_dict["pad_size"] ctx.kernel_size = param_dict["kernel_size"] ctx.max_disp = param_dict["max_disp"] ctx.stride1 = param_dict["stride1"] ctx.stride2 = param_dict["stride2"] ctx.corr_multiply = param_dict["corr_multiply"] with torch.cuda.device_of(input1): rbot1 = input1.new() rbot2 = input2.new() output = input1.new() correlation_cuda.forward(input1, input2, rbot1, rbot2, output, ctx.pad_size, ctx.kernel_size, ctx.max_disp, ctx.stride1, ctx.stride2, ctx.corr_multiply) return output