I have spent hours and hours trying to figure out why DISTS does not work. It's because I was using mixed precision and it needs full 32 bit for whatever reason. The real issue is that it doesn't fail to run and there are no warnings anywhere or signs of it being a data type issue, leaving you completely clueless on what is going on. I found the problem through brute force.
With DISTS I had to cut my batch size down to 1 even on a 4090 and it trains at half the speed of LPIPS using mixed precision. Practically unusable without mixed precision.
I have spent hours and hours trying to figure out why DISTS does not work. It's because I was using mixed precision and it needs full 32 bit for whatever reason. The real issue is that it doesn't fail to run and there are no warnings anywhere or signs of it being a data type issue, leaving you completely clueless on what is going on. I found the problem through brute force. With DISTS I had to cut my batch size down to 1 even on a 4090 and it trains at half the speed of LPIPS using mixed precision. Practically unusable without mixed precision.