Solved by albanD in post #2 
              
              
                Hi, 
Note that it would be better to replace: 
        L_smia.backward()
        eta = epsilon * attack_image.grad.data.sign()

by 
        grad, = autograd.grad(L_smia, attack_image)
        eta = epsilon * grad

For your issue, what is the value of alpha? 
Also you can check the gradients flowing …