MCPcopy Create free account
hub / github.com/OpenImagingLab/4DSloMo / backward

Method backward

pointops2/functions/pointops.py:740–751  ·  view source on GitHub ↗

input: grad_out: (n, c) output: grad_input: (n, c), grad_position: (n, nsample, c), grad_weight : (n, nsample, c')

(ctx, grad_output)

Source from the content-addressed store, hash-verified

738
739 @staticmethod
740 def backward(ctx, grad_output):
741 """
742 input: grad_out: (n, c)
743 output: grad_input: (n, c), grad_position: (n, nsample, c), grad_weight : (n, nsample, c')
744 """
745 input, position, weight, idx = ctx.saved_tensors
746 n, nsample, c = position.shape; w_c = weight.shape[-1]
747 grad_input = torch.cuda.FloatTensor(n, c).zero_()
748 grad_position = torch.cuda.FloatTensor(n, nsample, c).zero_()
749 grad_weight = torch.cuda.FloatTensor(n, nsample, w_c).zero_()
750 pointops_cuda.aggregation_backward_cuda(n, nsample, c, w_c, input, position, weight, idx, grad_output, grad_input, grad_position, grad_weight)
751 return grad_input, grad_position, grad_weight, None
752
753aggregation = Aggregation.apply
754

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected