DSNeRF icon indicating copy to clipboard operation
DSNeRF copied to clipboard

Is there sometime that sigmaloss may be inf?

Open BIG-PIE-MILK-COW opened this issue 1 year ago • 1 comments

As defined in SigmaLoss, sigmaloss = -torch.log(weights) * torch.exp(-(z_vals - depths[:, None]) ** 2 / (2 * 1)) * dists, and weights = alpha * torch.cumprod(torch.cat([torch.ones((alpha.shape[0], 1)).to(alpha.device), 1. - alpha + 1e-10], -1),-1)[:, :-1], raw2alpha = lambda raw, dists, act_fn=F.relu: 1. - torch.exp(-act_fn(raw) * dists) , as sometime raw could be negative,act_fn(raw) will be 0, then raw will be 0, weights will also be 0, then log(weights) will be inf, so the sigmaloss will be inf. Then in backward, there should be some errors. Have you encountered such a situation?

BIG-PIE-MILK-COW avatar Jul 24 '23 14:07 BIG-PIE-MILK-COW

Hi, thanks for your interest. We add a small amount to weights if encountering this issue. Related issue: https://github.com/dunbar12138/DSNeRF/issues/69#issuecomment-1287234426

dunbar12138 avatar Jul 27 '23 22:07 dunbar12138