本文用来记录我遇到的各种奇葩bug,不定时更新

Hugo

  • git config –global core.autocrlf false, 如果使用Windows和git配置hugo要记得这个,不能修改为CRLF,小心这个warning:LF will be replaced by CRLF the next time Git touches it

CUDA

  • 运行3DGS相关代码时出现 CUDA error : illegal memory access

这个问题存在很多争议,这里只讨论3D高斯相关代码中这个问题的情况,我是自己魔改代码时出现的.

主要问题就是你有数据在cpu上,有数据在gpu上,有的作者喜欢在cpu上渲染(少数),有的喜欢丢到gpu上渲染。

这个报错最难受的就是无法定位到具体的错误,这个时候可以使用torch.cuda.synchronize()往前一行一行地执行来定位具体错误,也可以直接打印变量的device,然后指定好是用.cpu()还是.cuda().

新增:这个报错还可能发生在你的光栅化没有正确与你的torch版本和cuda版本对应上的时候,此时:

  • 使用nvcc -V检查你的cuda版本
  • 使用pip list | grep torch检查你的torch版本是否对应好了cuda版本
  • 删除submodule/diff-gaussian-rasterization/build,然后在/submodule/diff-gaussian-rasterization这个目录下运行 python setup.py install。

以上步骤基本可以解决问题,注意此方法适用于在跑gaussian相关baseline的时候,初次配环境出的错,如果是你后期改代码导致报错了,还是关注你自己写的代码有没有问题吧,或者检查你系统的CUDA版本是不是改变了。