Is my understanding right? The grad_in is in order of ( input, weight, bias), which are mentioned in torch.nn.Conv2d 60. And I can only return one tuple that consists of three Tensor. The error information misleads me. And a good way to store the history is to store it in Module, which may needs me to write a new conv2d module. And if I want to affect the gradient of kernels’ weight, changing the gradient of bias is meaningless. I’d better change the grad_in[1] and grad_in[2].