nerfstudio icon indicating copy to clipboard operation
nerfstudio copied to clipboard

ValueError(f'mutable default {type(f.default)} for field ' ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for field local_writer is not allowed: use default_factory

Open yoponchik opened this issue 10 months ago • 2 comments

Describe the bug Trying to install Volinga as shown in the official documentation.

To Reproduce Steps to reproduce the behavior:

Everything is the same as the Readme.md instructions except installing cuda toolkit and ninja

  1. Install CUDA Toolkit Dev (11.7) - not CUDA Toolkit (11.8)
  • conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit did not work
    • conda install cudatoolkit-dev worked
  1. Install ninja
  • Readme.md says to execute pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch but I got an error saying warnings.warn(msg.format('we could not find ninja.'))
  • Ran conda install -c conda-forge ninja instead
  1. Install Volinga model
pip install -e .
  1. Error in Tab Completion Installation
ns-install-cli
  1. Execute ns-train -h to check if installed correctly
  • Gives error below
 raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for field local_writer is not allowed: use default_factory

Expected behavior Tab Completion installing correctly.

Some Screenshots Error when executing ns-install-cli image Error when executing ns-train -h image

Additional context: Full Error Message

(nerf) C:\Users\ITAEC\Downloads\volinga-model-main>ns-install-cli
[16:13:39] $HOME is not set. Exiting.                                                                     install.py:353

(nerf) C:\Users\ITAEC\Downloads\volinga-model-main>set HOME=%USERPROFILE%

(nerf) C:\Users\ITAEC\Downloads\volinga-model-main>ns-install-cli
[16:13:54] 🔍 Detected conda environment C:\Users\ITAEC\anaconda3\envs\nerf!                              install.py:364
           ✔ Nothing to do for                                                                            install.py:139
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\bash\_ns-d
           ev-test.
           ✔ Nothing to do for                                                                            install.py:139
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\zsh\_ns-de
           v-test.
           ✔ Updated completion at                                                                        install.py:137
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\zsh\_ns-in
           stall-cli!
           ✔ Updated completion at                                                                        install.py:137
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\bash\_ns-i
           nstall-cli!
[16:13:57] ✔ Updated completion at                                                                        install.py:137
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\zsh\_ns-pr
           ocess-data!
           ✔ Updated completion at                                                                        install.py:137
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\bash\_ns-p
           rocess-data!
[16:13:58] ✔ Nothing to do for                                                                            install.py:139
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\zsh\_ns-de
           v-sync-viser-message-defs.
           ✔ Nothing to do for                                                                            install.py:139
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\bash\_ns-d
           ev-sync-viser-message-defs.
           ❌ Completion script generation failed: ['ns-eval', '--tyro-print-completion', 'zsh']          install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-eval.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\eval.py", line
           28, in <module>
               from nerfstudio.utils.eval_utils import eval_setup
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\eval_utils.py",
           line 28, in <module>
               from nerfstudio.configs.method_configs import all_methods
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\method_configs.py",
           line 25, in <module>
               from nerfstudio.data.pixel_samplers import PairPixelSamplerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\pixel_samplers.py", line
           34, in <module>
               from nerfstudio.configs.base_config import (
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-eval', '--tyro-print-completion', 'bash']         install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-eval.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\eval.py", line
           28, in <module>
               from nerfstudio.utils.eval_utils import eval_setup
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\eval_utils.py",
           line 28, in <module>
               from nerfstudio.configs.method_configs import all_methods
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\method_configs.py",
           line 25, in <module>
               from nerfstudio.data.pixel_samplers import PairPixelSamplerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\pixel_samplers.py", line
           34, in <module>
               from nerfstudio.configs.base_config import (
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-viewer', '--tyro-print-completion', 'zsh']        install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-viewer.exe\__main__.py", line 4, in
           <module>
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\viewer\run_viewer.py"
           , line 28, in <module>
               from nerfstudio.configs.base_config import ViewerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-train', '--tyro-print-completion', 'zsh']         install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-train.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\train.py",
           line 62, in <module>
               from nerfstudio.configs.method_configs import AnnotatedBaseConfigUnion
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\method_configs.py",
           line 25, in <module>
               from nerfstudio.data.pixel_samplers import PairPixelSamplerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\pixel_samplers.py", line
           34, in <module>
               from nerfstudio.configs.base_config import (
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-download-data', '--tyro-print-completion', 'zsh'] install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-download-data.exe\__main__.py", line 4,
           in <module>
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\downloads\download_da
           ta.py", line 30, in <module>
               from nerfstudio.configs.base_config import PrintableConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-viewer', '--tyro-print-completion', 'bash']       install.py:124
Traceback (most recent call last):
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-viewer.exe\__main__.py", line 4, in
           <module>
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\viewer\run_viewer.py"
           , line 28, in <module>
               from nerfstudio.configs.base_config import ViewerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

(    ● ) ✍  Generating completions...  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-install-cli.exe\__main__.py", line 7, in <module>
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 412, in entrypoint
    tyro.cli(main, description=__doc__)
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\tyro\_cli.py", line 184, in cli
    output = _cli_impl(
             ^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\tyro\_cli.py", line 446, in _cli_impl
    out, consumed_keywords = _calling.call_from_args(
                             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\tyro\_calling.py", line 241, in call_from_args
    return unwrapped_f(*positional_args, **kwargs), consumed_keywords  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 393, in main
    _generate_completions_files(completions_dir, scripts_dir, shells_supported, shells_found)
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 324, in _generate_completions_files
    completion_paths = list(
                       ^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\concurrent\futures\_base.py", line 619, in result_iterator
    yield _result_or_cancel(fs.pop())
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\concurrent\futures\_base.py", line 317, in _result_or_cancel
    return fut.result(timeout)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\concurrent\futures\_base.py", line 456, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\concurrent\futures\_base.py", line 401, in __get_result
    raise self._exception
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\concurrent\futures\thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 326, in <lambda>
           ❌ Completion script generation failed: ['ns-train', '--tyro-print-completion', 'bash']        install.py:124
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-train.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\train.py",
           line 62, in <module>
               from nerfstudio.configs.method_configs import AnnotatedBaseConfigUnion
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\method_configs.py",
           line 25, in <module>
               from nerfstudio.data.pixel_samplers import PairPixelSamplerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\pixel_samplers.py", line
           34, in <module>
               from nerfstudio.configs.base_config import (
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

    lambda path_or_entrypoint_and_shell: _generate_completion(
                                         ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 129, in _generate_completion
    raise e
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\completions\install.py", line 116, in _generate_completion
    new = subprocess.run(
          ^^^^^^^^^^^^^^^
  File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ns-download-data', '--tyro-print-completion', 'zsh']' returned non-zero exit status 1.
           ❌ Completion script generation failed: ['ns-download-data', '--tyro-print-completion',        install.py:124
           'bash']
           Traceback (most recent call last):                                                             install.py:128
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-download-data.exe\__main__.py", line 4,
           in <module>
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\downloads\download_da
           ta.py", line 30, in <module>
               from nerfstudio.configs.base_config import PrintableConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

[16:13:59] ❌ Completion script generation failed: ['ns-export', '--tyro-print-completion', 'bash']       install.py:124
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:             install.py:128
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           Traceback (most recent call last):
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-export.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\exporter.py",
           line 36, in <module>
               from nerfstudio.data.datamanagers.base_datamanager import VanillaDataManager
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\datamanagers\base_datama
           nager.py", line 49, in <module>
               from nerfstudio.cameras.camera_optimizers import CameraOptimizerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\cameras\camera_optimizers.py"
           , line 32, in <module>
               from nerfstudio.configs.base_config import InstantiateConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-export', '--tyro-print-completion', 'zsh']        install.py:124
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:             install.py:128
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           Traceback (most recent call last):
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-export.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\exporter.py",
           line 36, in <module>
               from nerfstudio.data.datamanagers.base_datamanager import VanillaDataManager
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\datamanagers\base_datama
           nager.py", line 49, in <module>
               from nerfstudio.cameras.camera_optimizers import CameraOptimizerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\cameras\camera_optimizers.py"
           , line 32, in <module>
               from nerfstudio.configs.base_config import InstantiateConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

[16:14:00] ❌ Completion script generation failed: ['ns-render', '--tyro-print-completion', 'zsh']        install.py:124
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:             install.py:128
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           Traceback (most recent call last):
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-render.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\render.py",
           line 56, in <module>
               from nerfstudio.data.datamanagers.base_datamanager import VanillaDataManager
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\datamanagers\base_datama
           nager.py", line 49, in <module>
               from nerfstudio.cameras.camera_optimizers import CameraOptimizerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\cameras\camera_optimizers.py"
           , line 32, in <module>
               from nerfstudio.configs.base_config import InstantiateConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

           ❌ Completion script generation failed: ['ns-render', '--tyro-print-completion', 'bash']       install.py:124
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:             install.py:128
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\utils\misc.py:184:
           RuntimeWarning: Windows does not yet support torch.compile and the performance will be
           affected.
             warnings.warn(
           Traceback (most recent call last):
             File "<frozen runpy>", line 198, in _run_module_as_main
             File "<frozen runpy>", line 88, in _run_code
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Scripts\ns-render.exe\__main__.py", line 4, in
           <module>
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\scripts\render.py",
           line 56, in <module>
               from nerfstudio.data.datamanagers.base_datamanager import VanillaDataManager
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\data\datamanagers\base_datama
           nager.py", line 49, in <module>
               from nerfstudio.cameras.camera_optimizers import CameraOptimizerConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\cameras\camera_optimizers.py"
           , line 32, in <module>
               from nerfstudio.configs.base_config import InstantiateConfig
             File
           "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\site-packages\nerfstudio\configs\base_config.py", line
           105, in <module>
               @dataclass
                ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1230, in dataclass
               return wrap(cls)
                      ^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 1220, in wrap
               return _process_class(cls, init, repr, eq, order, unsafe_hash,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 958, in _process_class
               cls_fields.append(_get_field(cls, name, type, kw_only))
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
             File "C:\Users\ITAEC\anaconda3\envs\nerf\Lib\dataclasses.py", line 815, in _get_field
               raise ValueError(f'mutable default {type(f.default)} for field '
           ValueError: mutable default <class 'nerfstudio.configs.base_config.LocalWriterConfig'> for
           field local_writer is not allowed: use default_factory

yoponchik avatar Apr 25 '24 07:04 yoponchik

Hello! Can you check your nerfstudio version? It looks like this was fixed ~5 months ago in https://github.com/nerfstudio-project/nerfstudio/pull/2630.

brentyi avatar Apr 25 '24 08:04 brentyi

@brentyi Hi:) I am using the most recent version branch, but i'll try checking if the code from Commit #2630 is there.

EDIT: It seems that the error was coming from the base_config from the packages folder installed in the anaconda env Lib\site-packages\nerfstudio\configs\base_config.py and not the repository folder in nerfstudio/configs/base_config.py. Could I have done something wrong when installing the conda environment??

yoponchik avatar Apr 26 '24 02:04 yoponchik