apple / ml-neuman

Official repository of NeuMan: Neural Human Radiance Field from a Single Video (ECCV 2022)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

torch._C._LinAlgError: torch.linalg.inv: (Batch element 0): The diagonal element 1 is zero, the inversion could not be completed because the input matrix is singular.

yangkang2021 opened this issue · comments

Traceback (most recent call last):
File "D:\yangkang\ml-neuman\train.py", line 264, in
train_human(opt)
File "D:\yangkang\ml-neuman\train.py", line 154, in train_human
trainer.train()
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 193, in train
self.train_epoch()
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 623, in train_epoch
self.validate()
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 471, in validate
cur_loss = self.validate_batch(batch)
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 452, in validate_batch
loss_dict = self.loss_func(batch)
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 389, in loss_func
_, human_dirs, human_z_vals, can_pts, can_dirs, human_out = self._eval_human_samples(batch, device)
File "D:\yangkang\ml-neuman\trainers\human_nerf_trainer.py", line 264, in _eval_human_samples
mesh, raw_Ts = self.net.vertex_forward(int(batch['cap_id']))
File "D:\yangkang\ml-neuman\models\human_nerf.py", line 109, in vertex_forward
T_da2pose = T_t2pose @ torch.inverse(T_t2da)
torch._C._LinAlgError: torch.linalg.inv: (Batch element 0): The diagonal element 1 is zero, the inversion could not be completed because the input matrix is singular.