I have a symmetric tensor of size [B, N, N, C]. I would like to eliminate the diagonal elements. I was wondering what is the most efficient way to do this?
My solution:
Use
        idx1 = torch.triu_indices(N, N, 0)
        idx2 = torch.triu_indices(N, N, 1)

Then turn them into lists, subtract to get diagonal indices. Then use them to subtract diagonal term from the original tensor. But I’m wondering

Would turning indices into list break backprop?
Also, I’m not sure if this is the most efficient way to do this.