Why does output = torch.sigmoid(input) design this way? Actually it can do backward computation without using output (by using just input).
In my opinion, the reason for we can’t using in-place op is that the variable value changes between forward and backward. So why out-of-place op is ok for this situation? Maybe even we have b = b.index_fill(...), the previous b (without index_fill) is still saved in the computation graph?