Code Monkey home page Code Monkey logo

er-nerf's People

Contributors

fictionarry avatar hakureirm avatar skycol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

er-nerf's Issues

视频预处理的问题

1 自己的视频经过crop到450*450,在process.py处理之后的parsing目录下的分割结果很奇怪(如下图所示,前两张为parsing, 后面一张为torso_imgs),没有demo中obama的视分割的那么干净。

请问输入的视频是否有有什么要求? obama的视频是否经过什么预处理?
对高分辨率视频是否要裁剪? 视频中人物全身的躯干是否可以?

2 在处理视频 步骤 python data_utils/face_tracking/face_tracker.py 中, 运行到 print(f'[INFO] fine frame-wise fitting...')阶段
在中经常遇到一个报错,应该来自pytorch3d
Bin size was too small in the coarse rasterization phase. This caused an overflow, meaning output may be incomplete. To solve, try increasing max_faces_per_bin / max_points_per_bin, decreasing bin_size, or setting bin_size to 0 to use the naive rasterization.
这个问题在很多视频中出现,导致在process.py阶段出错。是不是对视频预处理有要求?

0
![206](https:
29
//github.com/Fictionarry/ER-NeRF/assets/8664575/b9100369-10c1-480b-9d51-22243dcd911a)

head shaking is noticeable

Compared to AD-nerf, I found the head shaking is noticeable, is there any way have been found to improve this ?

There is no sound as a result.

Great project, thank you to the author for their excellent work.
In the Audio Pre-process stage, can you choose one of the three methods, deepspeech, esperanto, and hubert? I used deepspeech and added --aud .npy during the inference process, but the generated results have no sound.

My inference FPS is so slow

Hello! I want to express my appreciation for your excellent work.
I have a question regarding inference speed.

I recently conducted a test using a 14-second-long audio clip (equivalent to 351 frames) with the Obama video you provided.
However, the inference process took approximately 2 minutes, which translates to around 3 frames per second (FPS).

I'm using an A100 GPU, and I've included a list of the installed packages below.
But someone mentioned that they were able to achieve an inference speed of 17 FPS using just an RTX 3090.

Furthermore, I followed your instructions to install the packages, |
but I encountered an issue with the gridencoder.
So I addressed this separately by using the following command to enable support for the sm80 CUDA architecture.

TORCH_CUDA_ARCH_LIST=8.0 pip install ./gridencoder

Do you have any suggestions or insights on how to improve the inference speed?

absl-py==1.4.0
asttokens==2.4.0
astunparse==1.6.3
backcall==0.2.0
Brotli @ file:///home/conda/feedstock_root/build_artifacts/brotli-split_1693583441880/work
cachetools==5.3.1
certifi==2023.7.22
cffi==1.15.1
charset-normalizer @ file:///home/conda/feedstock_root/build_artifacts/charset-normalizer_1688813409104/work
comm==0.1.4
ConfigArgParse==1.7
contourpy==1.1.1
cycler==0.11.0
dearpygui==1.10.0
debugpy==1.8.0
decorator==5.1.1
einops==0.6.1
exceptiongroup==1.1.3
executing==1.2.0
face-alignment==1.4.1
flatbuffers==23.5.26
fonttools==4.42.1
fvcore==0.1.5.post20221221
gast==0.5.4
google-auth==2.23.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
gridencoder @ file:///workspace/ER-NeRF/gridencoder
grpcio==1.58.0
h5py==3.9.0
idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1663625384323/work
imageio==2.31.3
imageio-ffmpeg==0.4.9
iopath==0.1.10
ipykernel==6.25.2
ipython==8.15.0
jedi==0.19.0
joblib==1.3.2
jupyter_client==8.3.1
jupyter_core==5.3.1
keras==2.8.0
Keras-Preprocessing==1.1.2
kiwisolver==1.4.5
lazy_loader==0.3
libclang==16.0.6
llvmlite==0.40.1
lpips==0.1.4
Markdown==3.4.4
markdown-it-py==3.0.0
MarkupSafe==2.1.3
matplotlib==3.8.0
matplotlib-inline==0.1.6
mdurl==0.1.2
nest-asyncio==1.5.7
networkx==3.1
ninja==1.11.1
numba==0.57.1
numpy==1.24.4
oauthlib==3.2.2
objprint==0.2.2
opencv-python==4.8.0.76
opt-einsum==3.3.0
packaging==23.1
pandas==2.1.0
parso==0.8.3
pexpect==4.8.0
pickleshare==0.7.5
Pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1675487172403/work
platformdirs==3.10.0
portalocker==2.8.2
prompt-toolkit==3.0.39
protobuf==3.20.3
psutil==5.9.5
ptyprocess==0.7.0
pure-eval==0.2.2
pyasn1==0.5.0
pyasn1-modules==0.3.0
PyAudio==0.2.13
pycparser==2.21
Pygments==2.16.1
PyMCubes==0.1.4
pyparsing==3.1.1
PySocks @ file:///home/conda/feedstock_root/build_artifacts/pysocks_1661604839144/work
python-dateutil==2.8.2
python-speech-features==0.6
pytorch3d @ git+https://github.com/facebookresearch/pytorch3d.git@6f2212da46f3ad1a596b3e1017be2d16eaaf95f9
pytz==2023.3.post1
PyWavelets==1.4.1
PyYAML==6.0.1
pyzmq==25.1.1
requests @ file:///home/conda/feedstock_root/build_artifacts/requests_1684774241324/work
requests-oauthlib==1.3.1
resampy==0.4.2
rich==13.5.3
rsa==4.9
scikit-image==0.21.0
scikit-learn==1.3.0
scipy==1.11.2
six==1.16.0
soundfile==0.12.1
stack-data==0.6.2
tabulate==0.9.0
tensorboard==2.8.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorboardX==2.6.2.2
tensorflow-gpu==2.8.0
tensorflow-io-gcs-filesystem==0.34.0
termcolor==2.3.0
tf-estimator-nightly==2.8.0.dev2021122109
threadpoolctl==3.2.0
tifffile==2023.9.18
torch==1.12.1
torch-ema==0.3
torchaudio==0.12.1
torchvision==0.13.1
tornado==6.3.3
tqdm==4.66.1
traitlets==5.9.0
trimesh==3.23.5
typing_extensions @ file:///home/conda/feedstock_root/build_artifacts/typing_extensions_1695040754690/work
tzdata==2023.3
urllib3==1.26.16
viztracer==0.15.6
wcwidth==0.2.6
Werkzeug==2.3.7
wrapt==1.15.0
yacs==0.1.8

inference fps are 17fps in RTX3090

hi, I test the model(video: obama.mp4) in my rtx3090, the inference fps only 17fps, but paper shows fps are 34 in rtx3080ti. Can you give me some advice?

The composite video is missing characters

Hello, thank you very much for your work, but I had some problems when synthesizing the video. I used Obama as the video content and reasoned through my own audio. After Obama video processing according to your preprocessing method and obtaining AU.csv file, I reasoned using ngp.pth in trial_obama_torso and ngp_ep0028.pth, and the resulting videos were all missing people, only backgrounds.

Is there something wrong with my operation? How should I handle this?

ngp_ep0000.mp4

This is my log information:

Namespace(path='data/obama/', O=True, test=True, test_train=True, data_range=[0, -1], workspace='trial_obama_torso/', seed=0, iters=200000, lr=0.01, lr_net=0.001, ckpt='latest', num_rays=65536, cuda_ray=True, max_steps=16, num_steps=16, upsample_steps=0, update_extra_interval=16, max_ray_batch=4096, warmup_step=10000, amb_aud_loss=1, amb_eye_loss=1, unc_loss=1, lambda_amb=0.0001, fp16=True, bg_img='', fbg=False, exp_eye=True, fix_eye=-1, smooth_eye=False, torso_shrink=0.8, color_space='srgb', preload=0, bound=1, scale=4, offset=[0, 0, 0], dt_gamma=0.00390625, min_near=0.05, density_thresh=10, density_thresh_torso=0.01, patch_size=1, init_lips=False, finetune_lips=False, smooth_lips=False, torso=True, head_ckpt='', gui=False, W=450, H=450, radius=3.35, fovy=21.24, max_spp=1, att=2, aud='data/1.npy', emb=False, ind_dim=4, ind_num=10000, ind_dim_torso=8, amb_dim=2, part=False, part2=False, train_camera=False, smooth_path=False, smooth_path_window=7, asr=False, asr_wav='', asr_play=False, asr_model='deepspeech', asr_save_feats=False, fps=50, l=10, m=50, r=10)
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
/HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
warnings.warn(
/HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or None for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing weights=AlexNet_Weights.IMAGENET1K_V1. You can also use weights=AlexNet_Weights.DEFAULT to get the most up-to-date weights.
warnings.warn(msg)
Loading model from: /HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
/HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
warnings.warn(
/HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or None for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing weights=AlexNet_Weights.IMAGENET1K_V1. You can also use weights=AlexNet_Weights.DEFAULT to get the most up-to-date weights.
warnings.warn(msg)
Loading model from: /HOME/scz0bse/.conda/envs/ernerf/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth
[INFO] Trainer: ngp | 2023-08-09_10-21-41 | cuda | fp16 | trial_obama_torso/
[INFO] #parameters: 1787681
[INFO] Loading latest checkpoint ...
[WARN] No checkpoint found, model randomly initialized.
[INFO] load 7272 train frames.
[INFO] load data/1.npy aud_features: torch.Size([121, 29, 16])
...
Loading train data: 100%|██████████| 7272/7272 [04:19<00:00, 28.00it/s]
[INFO] eye_area: 0.0 - 1.0
==> Start Test, save results to trial_obama_torso/results

100% 121/121 [00:44<00:00, 7.09it/s][swscaler @ 0x629cb00] Warning: data is not aligned! This can lead to a speed loss
[swscaler @ 0x59b8bc0] Warning: data is not aligned! This can lead to a speed loss
==> Finished Test.

100% 121/121 [00:48<00:00, 2.52it/s]

Thank you for taking time out of your busy schedule

`loss=nan` during training

Hi,

I am trying to use your project to train custom face.

I found that when the input audio was changed into Chinese, the lips shape of the people in the output video did not correspond well. Therefore, I replaced the audio feature extraction module(wav2vec2) to support the Chinese from huggingface(https://huggingface.co/wbbbbb/wav2vec2-large-chinese-zh-cn), and I changed audio_in_dim to the corresponding number(audio_in_dim = 5171).

However, I encountered the situation of "loss=nan" in the process of training lip-finetuning, may I ask what might be the cause?

Begging to share review code

Hello, I am honored to follow your recent excellent work on talking face in ICCV2023: "Efficient Region-Aware Neural Radiance Fields for High-Fidelity Talking Portrait Synthesis"

I don't know if it is convenient, can you share your metric evaluation code? Greatful! Anyway, thanks a lot!

The effect is excellent

Great project, thank you to the author for their excellent work.
The effect of my own training is also very good.

keke.mp4
final.14.mp4

Result of model training

Thank you for your project!
After training model with new video input, I got the result like video below. Please tell me what is the reason

ngp_ep0005.mp4

Poor results from custom data: lips barely moving, head are not stable 唇形基本不会变化,头部不稳定

Thanks very much for sharing this great work. I trained the model on two custom videos, with DeepSpeech feature(about 27 PSNR and 0.05 LPIPSm, torso)and HuBERT cn feature(about PSNR = 24 and 0.1 LPIPS, torso). Both results are not ideal, the lips in the results are barely moving at all, the head is keep shaking. I did the training exactly as in your description, what might be the problem here?

All my training videos are about 5 mins, I set the iterations in all the three training stages as same as described in the doc.

  1. inference with tts audio (DeepSpeech model)
pig-speech-cn-m.2.online-video-cutter.com.mp4
  1. inference with the training audio using the same npy file during training(DeepSpeech model)
train.online-video-cutter.com.1.mp4
  1. inference with tts audio (HuBERT cn model)
pig-speech-cn-f.online-video-cutter.com.mp4
  1. the pretrained model works fine on the tts audio (DeepSpeech feature), so I believe this has something to do with the train setting? Maybe training more epoch will help?
obama-pig-speech-no-torso.1.mp4

If it isn't too bother, could you please share more pretrained models along with it's training data and the exact commands used to train the model? And what might be the reason for my results?

Given groups=1, weight of size [32, 29, 3], expected input[8, 1024, 2] to have 29 channels, but got 1024 channels instead

hi,thank you for your project
here is my error, i do not know which step is wrong

here is My command:
python main.py data/obama/ --workspace trial_obama/ -O --test --test_train --aud data/1_hu.npy

and i got the message here:

root@d8e5bdfb3898:/data/ER-NeRF-main# python main.py data/obama/ --workspace trial_obama/ -O --test --test_train --aud data/1_hu.npy
Namespace(H=450, O=True, W=450, amb_aud_loss=1, amb_dim=2, amb_eye_loss=1, asr=False, asr_model='deepspeech', asr_play=False, asr_save_feats=False, asr_wav='', att=2, aud='data/1_hu.npy', bg_img='', bound=1, ckpt='latest', color_space='srgb', cuda_ray=True, data_range=[0, -1], density_thresh=10, density_thresh_torso=0.01, dt_gamma=0.00390625, emb=False, exp_eye=True, fbg=False, finetune_lips=False, fix_eye=-1, fovy=21.24, fp16=True, fps=50, gui=False, head_ckpt='', ind_dim=4, ind_dim_torso=8, ind_num=10000, init_lips=False, iters=200000, l=10, lambda_amb=0.0001, lr=0.01, lr_net=0.001, m=50, max_ray_batch=4096, max_spp=1, max_steps=16, min_near=0.05, num_rays=65536, num_steps=16, offset=[0, 0, 0], part=False, part2=False, patch_size=1, path='data/obama/', preload=0, r=10, radius=3.35, scale=4, seed=0, smooth_eye=False, smooth_lips=False, smooth_path=False, smooth_path_window=7, test=True, test_train=True, torso=False, torso_shrink=0.8, train_camera=False, unc_loss=1, update_extra_interval=16, upsample_steps=0, warmup_step=10000, workspace='trial_obama/')
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
/opt/conda/lib/python3.8/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
  warnings.warn(
/opt/conda/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.
  warnings.warn(msg)
Loading model from: /opt/conda/lib/python3.8/site-packages/lpips/weights/v0.1/alex.pth
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
/opt/conda/lib/python3.8/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
  warnings.warn(
/opt/conda/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.
  warnings.warn(msg)
Loading model from: /opt/conda/lib/python3.8/site-packages/lpips/weights/v0.1/alex.pth
[INFO] Trainer: ngp | 2023-08-25_10-10-16 | cuda | fp16 | trial_obama/
[INFO] #parameters: 587989
[INFO] Loading latest checkpoint ...
[WARN] No checkpoint found, model randomly initialized.
[INFO] load 7272 train frames.
[INFO] load data/1_hu.npy aud_features: torch.Size([371, 1024, 2])
Loading train data: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 7272/7272 [00:01<00:00, 6587.96it/s]
[INFO] eye_area: 0.0 - 1.0
==> Start Test, save results to trial_obama/results
  0% 0/371 [00:00<?, ?it/s]Traceback (most recent call last):
  File "main.py", line 206, in <module>
    trainer.test(test_loader)
  File "/data/ER-NeRF-main/nerf_triplane/utils.py", line 1023, in test
    preds, preds_depth = self.test_step(data)
  File "/data/ER-NeRF-main/nerf_triplane/utils.py", line 939, in test_step
    outputs = self.model.render(rays_o, rays_d, auds, bg_coords, poses, eye=eye, index=index, staged=True, bg_color=bg_color, perturb=perturb, **vars(self.opt))
  File "/data/ER-NeRF-main/nerf_triplane/renderer.py", line 675, in render
    results = _run(rays_o, rays_d, auds, bg_coords, poses, **kwargs)
  File "/data/ER-NeRF-main/nerf_triplane/renderer.py", line 188, in run_cuda
    enc_a = self.encode_audio(auds) # [1, 64]
  File "/data/ER-NeRF-main/nerf_triplane/network.py", line 232, in encode_audio
    enc_a = self.audio_net(a) # [1/8, 64]
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1131, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/ER-NeRF-main/nerf_triplane/network.py", line 64, in forward
    x = self.encoder_conv(x).squeeze(-1)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1131, in _call_impl
    return forward_call(*input, **kwargs)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/container.py", line 139, in forward
    input = module(input)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1131, in _call_impl
    return forward_call(*input, **kwargs)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 309, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 305, in _conv_forward
    return F.conv1d(input, weight, bias, self.stride,
RuntimeError: Given groups=1, weight of size [32, 29, 3], expected input[8, 1024, 2] to have 29 channels, but got 1024 channels instead
  0% 0/371 [00:00<?, ?it/s]

How to obtain AU45 for eyes blinking?

Run FeatureExtraction in OpenFace, rename and move the output CSV file to data//au.csv.

I don't know the format of au.csv. Whether you have a processing script? Thank you for your timely reply.

,Calculated output size: (192x0x0). Output size is too small

Thank you for sharing, I have an error,

==> Start Training Epoch 2, lr=0.000000 ...
loss=0.0031 (0.0118), lr=0.000610: : 22% 51/227 [00:03<00:10, 16.09it/s]Traceback (most recent call last):
File "main.py", line 374, in
trainer.train(train_loader, valid_loader, max_epochs)
File "/data/ER-NERF2/nerf_triplane/utils.py", line 977, in train
self.train_one_epoch(train_loader)
File "/data/ER-NERF2/nerf_triplane/utils.py", line 1239, in train_one_epoch
preds, truths, loss = self.train_step(data)
File "/data/ER-NERF2/nerf_triplane/utils.py", line 816, in train_step
loss = loss + 0.01 * self.criterion_lpips_alex(pred_rgb, rgb)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/lpips/lpips.py", line 119, in forward
outs0, outs1 = self.net.forward(in0_input), self.net.forward(in1_input)
File "/opt/conda/lib/python3.7/site-packages/lpips/pretrained_networks.py", line 85, in forward
h = self.slice3(h)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/container.py", line 141, in forward
input = module(input)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/modules/pooling.py", line 164, in forward
self.return_indices)
File "/opt/conda/lib/python3.7/site-packages/torch/_jit_internal.py", line 422, in fn
return if_false(*args, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/torch/nn/functional.py", line 797, in _max_pool2d
return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)

RuntimeError: Given input size: (192x2x2). Calculated output size: (192x0x0). Output size is too small

Is there any solution??

About PSNR

Dear authors:
May I ask why the head result is better than the head+torso result in PSNR? Thanks a lot!

Is AU45 required ?

Hi, Thanks for your project.

I want to know is the data/<ID>/au.csv from runing FeatureExtraction in OpenFace required?

If I don't run the FeatureExtraction, can I run the training process normally?

Audio Pre-process Error

The following error occurs in DeepSpeec:
image
The following error occurred while using HuBERT:
image

处理自己的视频时报错 Bin size was too small in the coarse rasterization phase.

Bin size was too small in the coarse rasterization phase. This caused an overflow, meaning output may be incomplete. To solve, try increasing max_faces_per_bin / max_points_per_bin, decreasing bin_size, or setting bin_size to 0 to use the naive rasterization.Bin size was too small in the coarse rasterization phase. This caused an overflow, meaning output may be incomplete. To solve, try increasing max_faces_per_bin / max_points_per_bin, decreasing bin_size, or setting bin_size to 0 to use the naive rasterization.

看英文是建议增加 max_faces_per_bin / max_points_per_bin,或者减小 bin_size。哪位大佬知道是怎么导致的,该怎样处理,谢谢

3DMM converting error

File "/home/ER-NeRF/data_utils/face_tracking/convert_BFM.py", line 5, in <module> sub_inds = np.load("3DMM/topology_info.npy", allow_pickle=True).item()["sub_inds"] File "/home/anaconda3/envs/ernerf/lib/python3.10/site-packages/numpy/lib/npyio.py", line 443, in load raise pickle.UnpicklingError( _pickle.UnpicklingError: Failed to interpret file '3DMM/topology_info.npy' as a pickle
python conver.py command makes the errors above.
As I think, the topology_info.npy file has a problem.

How can this issue be addressed?

Thanks!

Re-enactment

Great job with this! Any insight on how to use this for cross-identity re-enactment (i.e. how to make a person have the same expression from the audio and/or video of another person?)

How to make "au.csv" file?

Hello, thank you very much for your project.

When I run "main.py" file for testing, the "au.csv" file is missed. How to get this file?

This error may appear if the input matrix contains NaN.

$: python3 main.py data/obama/ --workspace trial_obama_torso/ -O --torso --head_ckpt trial_obama/checkpoints/ngp_ep0017.pth --iters 200000

.....
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
/root/miniconda3/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
  warnings.warn(
/root/miniconda3/envs/ernerf/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.
  warnings.warn(msg)
Loading model from: /root/miniconda3/envs/ernerf/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth
Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]
Loading model from: /root/miniconda3/envs/ernerf/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth
[INFO] Trainer: ngp | 2023-08-07_10-52-06 | cuda | fp16 | trial_obama_torso/
[INFO] #parameters: 1199692
[INFO] Loading latest checkpoint ...
[WARN] No checkpoint found, model randomly initialized.
[INFO] load 100 val frames.
[INFO] load  aud_features: torch.Size([7999, 29, 16])
Loading val data: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 1713.70it/s]
[INFO] eye_area: 0.0 - 0.8100000023841858
[INFO] max_epoch = 28
==> Start Training Epoch 1, lr=0.010000 ...
  0% 0/7272 [00:00<?, ?it/s]Traceback (most recent call last):
  File "/mnt/bd/yzx-lq/workspace/ER-NeRF/main.py", line 248, in <module>
    trainer.train(train_loader, valid_loader, max_epochs)
  File "/mnt/bd/yzx-lq/workspace/ER-NeRF/nerf_triplane/utils.py", line 976, in train
    self.train_one_epoch(train_loader)
  File "/mnt/bd/yzx-lq/workspace/ER-NeRF/nerf_triplane/utils.py", line 1234, in train_one_epoch
    self.model.update_extra_state()
  File "/root/miniconda3/envs/ernerf/lib/python3.10/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/mnt/bd/yzx-lq/workspace/ER-NeRF/nerf_triplane/renderer.py", line 516, in update_extra_state
    alphas, _, _ = self.forward_torso(xys, pose, ind_code) # [N, 1]
  File "/mnt/bd/yzx-lq/workspace/ER-NeRF/nerf_triplane/network.py", line 175, in forward_torso
    wrapped_anchor = self.anchor_points[None, ...] @ poses.permute(0, 2, 1).inverse()
torch._C._LinAlgError: cusolver error: CUSOLVER_STATUS_EXECUTION_FAILED, when calling `cusolverDnSgetrf( handle, m, n, dA, ldda, static_cast<float*>(dataPtr.get()), ipiv, info)`. This error may appear if the input matrix contains NaN.
  0% 0/7272 [00:01<?, ?it/s]

When I tried to run the training code, it returned the error above.
It seems that there are NaN in the input matrix? How can I fix this error?

questions about using hu_bert

Hellow! I have an audio, when using deepspeech to extract audio features , there is no problem , the output dimension is (923, 16, 29) . However, when using hu_bert, the output dimension is (1384, 2, 1024), It has 1384 frames(1384/25 seconds), which is longer then my wav file.

pip install tensorflow-gpu==2.8.0, 清华镜像无法安装

pip install tensorflow-gpu==2.8.0

pip install tensorflow-gpu==2.8
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting tensorflow-gpu==2.8
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/10/6c/f5ba0312f132d0a9e03f33abbe6d7e3146b36f08c64b162ceb07835ee79b/tensorflow_gpu-2.8.0-cp310-cp310-manylinux2010_x86_64.whl (497.6 MB)
Collecting absl-py>=0.4.0 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/01/e4/dc0a1dcc4e74e08d7abedab278c795eef54a224363bb18f5692f416d834f/absl_py-2.0.0-py3-none-any.whl (130 kB)
Collecting astunparse>=1.6.0 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Collecting flatbuffers>=1.12 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/6f/12/d5c79ee252793ffe845d58a913197bfa02ae9a0b5c9bc3dc4b58d477b9e7/flatbuffers-23.5.26-py2.py3-none-any.whl (26 kB)
Requirement already satisfied: gast>=0.2.1 in /home/ubuntu/.local/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (0.5.4)
Collecting google-pasta>=0.1.1 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/a3/de/c648ef6835192e6e2cc03f40b19eeda4382c49b5bafb43d88b931c4c74ac/google_pasta-0.2.0-py3-none-any.whl (57 kB)
Collecting h5py>=2.9.0 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/0d/7a/e55589e4093cca1934db5e99644c1c2424a9b3aac104b7f6176605a5eeb7/h5py-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB)
Collecting keras-preprocessing>=1.1.1 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/79/4c/7c3275a01e12ef9368a892926ab932b33bb13d55794881e3573482b378a7/Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
Collecting libclang>=9.0.1 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ea/df/55525e489c43f9dbb6c8ea27d8a567b3dcd18a22f3c45483055f5ca6611d/libclang-16.0.6-py2.py3-none-manylinux2010_x86_64.whl (22.9 MB)
Requirement already satisfied: numpy>=1.20 in /home/ubuntu/anaconda3/envs/ernerf/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (1.22.0)
Collecting opt-einsum>=2.3.2 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/bc/19/404708a7e54ad2798907210462fd950c3442ea51acc8790f3da48d2bee8b/opt_einsum-3.3.0-py3-none-any.whl (65 kB)
Requirement already satisfied: protobuf>=3.9.2 in /home/ubuntu/anaconda3/envs/ernerf/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (4.24.3)
Requirement already satisfied: setuptools in /home/ubuntu/anaconda3/envs/ernerf/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (68.0.0)
Requirement already satisfied: six>=1.12.0 in /home/ubuntu/anaconda3/envs/ernerf/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (1.16.0)
Requirement already satisfied: termcolor>=1.1.0 in /home/ubuntu/anaconda3/envs/ernerf/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (2.3.0)
Requirement already satisfied: typing-extensions>=3.6.6 in /home/ubuntu/.local/lib/python3.10/site-packages (from tensorflow-gpu==2.8) (4.7.1)
Collecting wrapt>=1.11.0 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/7f/b6/6dc0ddacd20337b4ce6ab0d6b0edc7da3898f85c4f97df7f30267e57509e/wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78 kB)
Collecting tensorboard<2.9,>=2.8 (from tensorflow-gpu==2.8)
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f7/fd/67c61276de025801cfa8a1b9af2d7c577e7f27c17b6bff2baca20bf03543/tensorboard-2.8.0-py3-none-any.whl (5.8 MB)
INFO: pip is looking at multiple versions of tensorflow-gpu to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement tf-estimator-nightly==2.8.0.dev2021122109 (from tensorflow-gpu) (from versions: none)
ERROR: No matching distribution found for tf-estimator-nightly==2.8.0.dev2021122109

IndexError: index 3327 is out of bounds for axis 0 with size 3327

[INFO] Trainer: ngp | 2023-09-27_19-40-14 | cuda | fp16 | trial_t2/
[INFO] #parameters: 683509
[INFO] Loading latest checkpoint ...
[INFO] Latest checkpoint is trial_t2/checkpoints/ngp_ep0042.pth
[INFO] loaded model.
[INFO] load at epoch 42, global step 127134
[INFO] loaded optimizer.
[INFO] loaded scheduler.
[INFO] loaded scaler.
[INFO] load 100 val frames.
[INFO] load aud_features: torch.Size([3325, 1024, 2])
Loading val data: 100%|███████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 3601.65it/s]
[INFO] eye_area: 0.0 - 1.0
[INFO] max_epoch = 42
[INFO] load 303 test frames.
[INFO] load aud_features: torch.Size([3325, 1024, 2])
Loading test data: 99%|█████████████████████████████████████████████████████████████████████████████████████▏| 300/303 [00:00<00:00, 3633.58it/s]
Traceback (most recent call last):
File "/root/autodl-tmp/ER-NeRF/main.py", line 257, in
test_loader = NeRFDataset(opt, device=device, type='test').dataloader()
File "/root/autodl-tmp/ER-NeRF/nerf_triplane/provider.py", line 500, in init
area = au_blink[f['img_id']]
IndexError: index 3327 is out of bounds for axis 0 with size 3327

你好,感谢你们的工作和分享,我在使用一个2分钟多的视频进行训练时,当进行测试集加载时就报上面的错误,请问这是哪里的问题,感谢!

Question about test of the Obama video clip

Hi, thanks for your project.

When I download the pretrained checkpoints that you provide on the Obama video clip and test by

python main.py data/obama/ --workspace trial_obama/ -O --test --ckpt trial_obama/checkpoints/ngp.pth # head

I got an error:

Traceback (most recent call last):
File "/root/ER-NeRF/main.py", line 191, in
test_loader = NeRFDataset(opt, device=device, type='test').dataloader()
File "/root/ER-NeRF/nerf_triplane/provider.py", line 357, in init
with open(os.path.join(self.root_path, f'transforms_{_split}.json'), 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'data/obama/transforms_val.json'

New point of view

Thank you for your work. It works very well.
I have a question. How can I make the video from a new point of view.

About hubert Model

Is it necessary to retrain the model when using the audio features extracted by Hubert?
Because when I replaced the features extracted by Hubert, I found that the weights you provided could not be inferred, and the dimensions did not match.

RuntimeError: Error(s) in loading state_dict for NeRFNetwork:
size mismatch for audio_net.encoder_conv.0.weight: copying a param with shape torch.Size([32, 29, 3]) from checkpoint, the shape in current model is torch.Size([32, 1024, 3]).

ninja: build stopped: subcommand failed.

Hi, thank you for the great job!

I've encountered an error while trying to instantiate the 'NeRFNetwork' class.

I've spent a few hours searching for a solution, but I haven't been able to resolve it.

Can anyone please help me out?"

`
python main.py data/obama/ --workspace trial_obama/ -O --test # only render the head and use GT image for torso

Namespace(path='data/obama/', O=True, test=True, test_train=False, data_range=[0, -1], workspace='trial_obama/', seed=0, iters=200000, lr=0.01, lr_net=0.001, ckpt='latest', num_rays=65536, cuda_ray=True, max_steps=16, num_steps=16, upsample_steps=0, update_extra_interval=16, max_ray_batch=4096, warmup_step=10000, amb_aud_loss=1, amb_eye_loss=1, unc_loss=1, lambda_amb=0.0001, fp16=True, bg_img='', fbg=False, exp_eye=True, fix_eye=-1, smooth_eye=False, torso_shrink=0.8, color_space='srgb', preload=0, bound=1, scale=4, offset=[0, 0, 0], dt_gamma=0.00390625, min_near=0.05, density_thresh=10, density_thresh_torso=0.01, patch_size=1, init_lips=False, finetune_lips=False, smooth_lips=False, torso=False, head_ckpt='', gui=False, W=450, H=450, radius=3.35, fovy=21.24, max_spp=1, att=2, aud='', emb=False, ind_dim=4, ind_num=10000, ind_dim_torso=8, amb_dim=2, part=False, part2=False, train_camera=False, smooth_path=False, smooth_path_window=7, asr=False, asr_wav='', asr_play=False, asr_model='deepspeech', asr_save_feats=False, fps=50, l=10, m=50, r=10)
Traceback (most recent call last):
  File "/workspace/ER-NeRF/gridencoder/grid.py", line 10, in <module>
    import _gridencoder as _backend
ModuleNotFoundError: No module named '_gridencoder'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1808, in _run_ninja_build
    subprocess.run(
  File "/opt/conda/envs/ernerf/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/workspace/ER-NeRF/main.py", line 149, in <module>
    model = NeRFNetwork(opt)
  File "/workspace/ER-NeRF/nerf_triplane/network.py", line 127, in __init__
    self.encoder_xy, self.in_dim_xy = get_encoder('hashgrid', input_dim=2, num_levels=self.num_levels, level_dim=self.level_dim, base_resolution=64, log2_hashmap_size=14, desired_resolution=512 * self.bound)
  File "/workspace/ER-NeRF/encoding.py", line 24, in get_encoder
    from gridencoder import GridEncoder
  File "/workspace/ER-NeRF/gridencoder/__init__.py", line 1, in <module>
    from .grid import GridEncoder
  File "/workspace/ER-NeRF/gridencoder/grid.py", line 12, in <module>
    from .backend import _backend
  File "/workspace/ER-NeRF/gridencoder/backend.py", line 31, in <module>
    _backend = load(name='_grid_encoder',
  File "/opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1202, in load
    return _jit_compile(
  File "/opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1425, in _jit_compile
    _write_ninja_file_and_build_library(
  File "/opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1537, in _write_ninja_file_and_build_library
    _run_ninja_build(
  File "/opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1824, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension '_grid_encoder': [1/2] /usr/local/cuda/bin/nvcc  -DTORCH_EXTENSION_NAME=_grid_encoder -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/TH -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/envs/ernerf/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -O3 -std=c++14 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_HALF2_OPERATORS__ -c /workspace/ER-NeRF/gridencoder/src/gridencoder.cu -o gridencoder.cuda.o 
FAILED: gridencoder.cuda.o 
/usr/local/cuda/bin/nvcc  -DTORCH_EXTENSION_NAME=_grid_encoder -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/TH -isystem /opt/conda/envs/ernerf/lib/python3.10/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/envs/ernerf/include/python3.10 -D_GLIBCXX_USE_CXX11_ABI=0 -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86 --compiler-options '-fPIC' -O3 -std=c++14 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_HALF2_OPERATORS__ -c /workspace/ER-NeRF/gridencoder/src/gridencoder.cu -o gridencoder.cuda.o 
/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=float]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=1U]" 
(350): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=2U]" 
(351): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=4U]" 
(352): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(194): warning #186-D: pointless comparison of unsigned integer with zero
          detected during:
            instantiation of "void kernel_grid<scalar_t,D,C>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U, C=8U]" 
(353): here
            instantiation of "void kernel_grid_wrapper<scalar_t,D>(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half, D=1U]" 
(367): here
            instantiation of "void grid_encode_forward_cuda(const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, uint32_t, __nv_bool) [with scalar_t=c10::Half]" 
(443): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(303): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (__half2 *, __half2)
          detected during:
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(413): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=1U, N_C=1U]" 
(384): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(413): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=2U, N_C=2U]" 
(388): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(413): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=4U, N_C=2U]" 
(392): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(413): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=1U, C=8U, N_C=2U]" 
(396): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=1U]" 
(413): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=2U, C=1U, N_C=1U]" 
(384): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=2U]" 
(414): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=2U, C=2U, N_C=2U]" 
(388): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=2U]" 
(414): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=2U, C=4U, N_C=2U]" 
(392): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=2U]" 
(414): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=2U, C=8U, N_C=2U]" 
(396): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=2U]" 
(414): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=3U, C=1U, N_C=1U]" 
(384): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=3U]" 
(415): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=3U, C=2U, N_C=2U]" 
(388): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=3U]" 
(415): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=3U, C=4U, N_C=2U]" 
(392): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=3U]" 
(415): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=3U, C=8U, N_C=2U]" 
(396): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=3U]" 
(415): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=4U, C=1U, N_C=1U]" 
(384): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=4U]" 
(416): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=4U, C=2U, N_C=2U]" 
(388): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=4U]" 
(416): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=4U, C=4U, N_C=2U]" 
(392): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=4U]" 
(416): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=4U, C=8U, N_C=2U]" 
(396): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=4U]" 
(416): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=5U, C=1U, N_C=1U]" 
(384): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=5U]" 
(417): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=5U, C=2U, N_C=2U]" 
(388): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=5U]" 
(417): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=5U, C=4U, N_C=2U]" 
(392): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=5U]" 
(417): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

/workspace/ER-NeRF/gridencoder/src/gridencoder.cu(309): error: no instance of overloaded function "atomicAdd" matches the argument list
            argument types are: (double *, double)
          detected during:
            instantiation of "void kernel_grid_backward<scalar_t,D,C,N_C>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, float, uint32_t, uint32_t, __nv_bool) [with scalar_t=double, D=5U, C=8U, N_C=2U]" 
(396): here
            instantiation of "void kernel_grid_backward_wrapper<scalar_t,D>(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double, D=5U]" 
(417): here
            instantiation of "void grid_encode_backward_cuda(const scalar_t *, const float *, const scalar_t *, const int *, scalar_t *, uint32_t, uint32_t, uint32_t, uint32_t, float, uint32_t, scalar_t *, scalar_t *, uint32_t, __nv_bool) [with scalar_t=double]" 
(474): here

21 errors detected in the compilation of "/workspace/ER-NeRF/gridencoder/src/gridencoder.cu".
ninja: build stopped: subcommand failed.
`

About high-resolution data and other face tracker.

"Thanks for your code. Upon running it, I have 2 questions.
First, when I use another face tracker, like MICA, I found the result is not good.
Second, I tried high-resolution images (1024 * 1024) and the loss became NaN."

I have a quesiton about the result.

Hello :)

The demo results are quit interesting and impressive !
But , I have a question about the rendering results of upper region of the face ( ex. hair, eye, noise regions ).

I understand that this work does not model the temporal planes.
However, the upper region of the face well rendered following the trained video whenever different audios are inserted.

How can it be possible?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.