Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ns-render spiral fails with ´AttributeError: 'ParallelDataManager' object has no attribute 'eval_dataloader'.´ #3023

Open
fadenb opened this issue Mar 27, 2024 · 1 comment

Comments

@fadenb
Copy link

fadenb commented Mar 27, 2024

Describe the bug
When attempting to render a spiral using ns-render spiral it fails with the following error:

✅ Done loading checkpoint from outputs/nerfacto-big/nerfacto/2024-03-26_224100/nerfstudio_models/step-000099999.ckpt
Traceback (most recent call last):
  File "/home/user/.local/bin/ns-render", line 8, in <module>
    sys.exit(entrypoint())
  File "/home/user/nerfstudio/nerfstudio/scripts/render.py", line 896, in entrypoint
    tyro.cli(Commands).main()
  File "/home/user/nerfstudio/nerfstudio/scripts/render.py", line 668, in main
    camera_start, _ = pipeline.datamanager.eval_dataloader.get_camera(image_idx=0)
  File "/home/user/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1614, in __getattr__
    raise AttributeError("'{}' object has no attribute '{}'".format(
AttributeError: 'ParallelDataManager' object has no attribute 'eval_dataloader'. Did you mean: 'eval_dataset'?

To Reproduce
Steps to reproduce the behavior:

All commands were executed in Docker container built for CUDA_ARCHITECTURES=86 based on master branch as of 2024-03-26 (71de071)

  1. Run ns-process on polycam dataset
  2. Do nerfacto-big training using ns-train nerfacto-big [... many options, names, ...] nerfstudio-data --train-split-fraction 1 --data /workspace/outputs/2024-03-25_polycam_statue_right_eye_Nordbad
  3. Wait for training to complete
  4. Check result using ns-viewer --load-config /workspace/outputs/nerfacto-big/nerfacto/2024-03-26_224100/config.yml (all good here)
  5. Attempt to render spiral using ns-render spiral --load-config /workspace/outputs/nerfacto-big/nerfacto/2024-03-26_224100/config.yml and get the following output (with error at end):
    ==========
    == CUDA ==
    ==========
    
    CUDA Version 11.8.0
    
    Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
    
    This container image and its contents are governed by the NVIDIA Deep Learning Container License.
    By pulling and using the container, you accept the terms and conditions of this license:
    https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license
    
    A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.
    
    [11:31:57] Auto image downscale factor of 1                                                 nerfstudio_dataparser.py:484
                Dataset is overriding orientation method to none                                nerfstudio_dataparser.py:232
                Dataset is overriding orientation method to none                                nerfstudio_dataparser.py:232
                Dataset is overriding orientation method to none                                nerfstudio_dataparser.py:232
    Loading data batch ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
    Started threads
    Loading latest checkpoint from load_dir
    ✅ Done loading checkpoint from outputs/nerfacto-big/nerfacto/2024-03-26_224100/nerfstudio_models/step-000099999.ckpt
    Traceback (most recent call last):
      File "/home/user/.local/bin/ns-render", line 8, in <module>
        sys.exit(entrypoint())
      File "/home/user/nerfstudio/nerfstudio/scripts/render.py", line 896, in entrypoint
        tyro.cli(Commands).main()
      File "/home/user/nerfstudio/nerfstudio/scripts/render.py", line 668, in main
        camera_start, _ = pipeline.datamanager.eval_dataloader.get_camera(image_idx=0)
      File "/home/user/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1614, in __getattr__
        raise AttributeError("'{}' object has no attribute '{}'".format(
    AttributeError: 'ParallelDataManager' object has no attribute 'eval_dataloader'. Did you mean: 'eval_dataset'?
    
    

Expected behavior

  1. spiral video is rendered

Screenshots
N/A

Additional context

  • I saw other bug reports relating to spiral rendering (ns-render spiral does not work. #2631, Patch spiral rendering w/ parallel datamanager #2637) thugh they were closed as fixed via 8b85c44 which according to GitHub is part of the main branch I built.
  • Manually defined paths for the camera seem to work as expected. Some keyframes added to the viewer gave me the following command which works fine: ns-render camera-path --load-config outputs/nerfacto-big/nerfacto/2024-03-26_224100/config.yml --camera-path-filename /workspace/outputs/2024-03-25_polycam_statue_right_eye_Nordbad/camera_paths/manual_spiral_test1.json --output-path renders/2024-03-25_polycam_statue_right_eye_Nordbad/manual_spiral_test1.mp4
@brentyi
Copy link
Collaborator

brentyi commented Apr 4, 2024

@mcallisterdavid has been looking into ns-render spiral issues!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants