Guest User

Untitled

a guest
Nov 24th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. diff --git a/torch/csrc/autograd/functions/convolution.cpp b/torch/csrc/autograd/functions/convolution.cpp
  2. index 465283c..991648c 100644
  3. --- a/torch/csrc/autograd/functions/convolution.cpp
  4. +++ b/torch/csrc/autograd/functions/convolution.cpp
  5. @@ -578,6 +578,16 @@ auto ConvBackwardBackward::apply(const variable_list& grad_grad_inputs) -> varia
  6. gI = Transpose(0, 1).apply({gIt})[0];
  7. }
  8.  
  9. + auto zeros_like = [](const Variable& var) -> std::shared_ptr<Variable> {
  10. + auto data = var.data->newTensor();
  11. + data->resizeAs(*var.data).zero();
  12. + return std::make_shared<Variable>(std::move(data), false, false);
  13. + };
  14. +
  15. + if (should_compute_output(0) && !ggO) ggO = zeros_like(*gO);
  16. + if (should_compute_output(1) && !gI) gI = zeros_like(*input);
  17. + if (should_compute_output(2) && !gW) gW = zeros_like(*weight);
  18. +
  19. return {ggO, gI, gW};
  20. }
Add Comment
Please, Sign In to add comment