@ethancaballero
I am trying to implement different elementwise penalty. Currently, I am using hack like this

Variable(condition.float()) * x + Variable((condition != 1).float()) * y

I just read about SELU things after your post, You can try using that tricks for where substitute.
But I think native Torch implementation must be faster & better than this hack.