/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/engine/trainer.py:137: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.
self.grad_scaler = GradScaler(enabled=self.use_grad_scaler)
Saving checkpoints to: outputs/unnamed/neus-facto/2026-04-02_205403/nerfstudio_models trainer.py:142
Setting up training dataset...
Caching all 165 images.
Setting up evaluation dataset...
Caching all 165 images.
Traceback (most recent call last):
File "/Portal/anaconda3/envs/sdfstudio/bin/ns-train", line 6, in <module>
sys.exit(entrypoint())
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/scripts/train.py", line 262, in entrypoint
main(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/scripts/train.py", line 247, in main
launch(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/scripts/train.py", line 189, in launch
main_func(local_rank=0, world_size=world_size, config=config)
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/scripts/train.py", line 99, in train_loop
trainer.setup()
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/engine/trainer.py", line 158, in setup
self.pipeline = self.config.pipeline.setup(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/configs/base_config.py", line 53, in setup
return self._target(self, **kwargs)
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/pipelines/base_pipeline.py", line 270, in __init__
self._model = config.model.setup(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/configs/base_config.py", line 53, in setup
return self._target(self, **kwargs)
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/models/base_model.py", line 85, in __init__
self.populate_modules() # populate the modules
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/models/neus_facto.py", line 89, in populate_modules
super().populate_modules()
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/models/neus.py", line 59, in populate_modules
super().populate_modules()
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/models/base_surface_model.py", line 98, in populate_modules
self.field = self.config.sdf_field.setup(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/configs/base_config.py", line 53, in setup
return self._target(self, **kwargs)
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/fields/sdf_field.py", line 150, in __init__
self.encoding = tcnn.Encoding(
File "/Portal/anaconda3/envs/sdfstudio/lib/python3.10/site-packages/nerfstudio/utils/external.py", line 35, in __getattr__
return _LazyError.LazyErrorObj(object.__getattribute__(self, "__data"))
AttributeError: '_LazyError' object has no attribute '__data'
When running
ns-train neus-factowith thesdfstudio-datadataloader, just after training and evaluation images are cached, an AttributeError occurs:AttributeError: '_LazyError' object has no attribute '__data'.To Reproduce
Steps to reproduce the behavior:
ns-process-data images --skip-colmap --colmap-model-path <MODEL_PATH> --data <DATA_PATH> --output_dir <NERFSTUDIO_PATH>sdfstudio/scripts/datasets/process_nerfstudio_to_sdfstudio.py --data <NERFSTUDIO_PATH> --output_dir <SDFSTUDIO_PATH>ns-train neus-facto sdfstudio-data <SDFSTUDIO_PATH>Expected behavior
Output is as follows after config is printed:
Additional context
To my understanding, I cannot use
ns-train neus-facto nerfstudio-data <NERFSTUDIO_DATA>because this pipeline requires normals. Meanwhile,ns-train neus-facto sdfstudio-datadoes not seem to require normals. I'm not sure whether autonomousvision/sdfstudio is the right repository to translate nerfstudio data into sdfstudio data.