def _compute_grad_input(self, grad_output):
input, weight, bias = self._get_saved_tensors()
# TODO: no zero needed in the future
grad_input = input.new().resize_as_(input).zero_()
if torch.typename(input) == 'torch.cuda.FloatTensor':
self._backend.VolumetricConvolution_updateGradInput(
self._backend.library_state, input, grad_output, grad_input,
weight, self.buffer1, *self.additional_args[3:])
else:
self._backend.VolumetricConvolutionMM_updateGradInput(
self._backend.library_state, input, grad_output, grad_input,
weight, self.buffer1, self.buffer2, *self.additional_args)
return grad_input
评论列表
文章目录