gsgen3d / gsgen

[CVPR 2024] Text-to-3D using Gaussian Splatting
https://arxiv.org/abs/2309.16585
MIT License
761 stars 42 forks source link

训练过程中出现错误 #28

Open Larerr opened 9 months ago

Larerr commented 9 months ago

运行main.py命令如下: python main.py --config-name=base prompt.prompt="xx" 报错如下:

  File "/data0/gsgen/main.py", line 19, in main
    trainer = Trainer(cfg)
  File "/data0/gsgen/trainer.py", line 222, in __init__
    self.save_code_snapshot()
  File "/data0/gsgen/trainer.py", line 274, in save_code_snapshot
    files = get_file_list()
  File "/data0/gsgen/utils/misc.py", line 281, in get_file_list
    subprocess.check_output(
  File "/home/miniconda3/envs/gsgen/lib/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/home/miniconda3/envs/gsgen/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'git ls-files -- ":!:load/*"' returned non-zero exit status 128.

经检查应该是gegen/utils/misc.py文件中的如下代码在运行中出了问题:

def get_file_list():
    return [
        b.decode()
        for b in set(
            subprocess.check_output(
                'git ls-files -- ":!:load/*"', shell=True
            ).splitlines()
        )
        | set(  # hard code, TODO: use config to exclude folders or files
            subprocess.check_output(
                "git ls-files --others --exclude-standard", shell=True
            ).splitlines()
        )
    ]

怀疑可能是某个文件没能成功下载,请问作者这种情况下应该怎么处理呀,谢谢!!

heheyas commented 9 months ago

Hi Larerr,

Thanks for your interest. This error is caused by git lfs (used when creating a code snapshot for better reproducibility). You can simply comment this line

https://github.com/gsgen3d/gsgen/blob/e60994e557b685d5df57ec0bb48460782091ec4d/trainer.py#L222

throb081 commented 6 months ago

您好你这边跑通了吗,我这边跑的时候有BUG,:488: DeprecationWarning: Type google.protobuf.pyext._message.ScalarMapContainer uses PyType_Spec with a metaclass that has custom tp_new. This is deprecated and will no longer be allowed in Python 3.14. 不知道你有没有遇到过。