I am current following a tutorial in Pytorch and there is this expression:
grad_h[h < 0] = 0
How does this syntax work and what does it do?
I am current following a tutorial in Pytorch and there is this expression:
grad_h[h < 0] = 0
How does this syntax work and what does it do?
 
    
     
    
    It means replace with zeros all the values in grad_h where its corresponding h is negative.
So it is implementing some kind of mask, to keep the gradient values only when h is negative
suppose that grad_h and h have the same shape.
grad_h.shape == h.shape
when you do h < 0 you obtain an array of booleans of the same shape that is set to True if h[i] < 0 for each i.
So then you apply this mask to do slicing on grad_h and finally you set all the sliced elements to zero
