Comments (4)
Try: pip install --upgrade gsplat
from nerfstudio.
Try:
pip install --upgrade gsplat
I've tried it but it's still the same.
from nerfstudio.
Try:
pip install --upgrade gsplat
I've checked again and I saw that it's actually a new error after using your command, here's the new log:
(nerfstudio) C:\Users\alexa>ns-train splatfacto --data "C:\Users\alexa\nerfstudio\output\COLMAP\Blocuri_Calea_Sagului"
[15:04:39] Using --data alias for --data.pipeline.datamanager.data train.py:230
──────────────────────────────────────────────────────── Config ────────────────────────────────────────────────────────
TrainerConfig(
_target=<class 'nerfstudio.engine.trainer.Trainer'>,
output_dir=WindowsPath('outputs'),
method_name='splatfacto',
experiment_name=None,
project_name='nerfstudio-project',
timestamp='2024-04-07_150439',
machine=MachineConfig(seed=42, num_devices=1, num_machines=1, machine_rank=0, dist_url='auto', device_type='cuda'),
logging=LoggingConfig(
relative_log_dir=WindowsPath('.'),
steps_per_log=10,
max_buffer_size=20,
local_writer=LocalWriterConfig(
_target=<class 'nerfstudio.utils.writer.LocalWriter'>,
enable=True,
stats_to_track=(
<EventName.ITER_TRAIN_TIME: 'Train Iter (time)'>,
<EventName.TRAIN_RAYS_PER_SEC: 'Train Rays / Sec'>,
<EventName.CURR_TEST_PSNR: 'Test PSNR'>,
<EventName.VIS_RAYS_PER_SEC: 'Vis Rays / Sec'>,
<EventName.TEST_RAYS_PER_SEC: 'Test Rays / Sec'>,
<EventName.ETA: 'ETA (time)'>
),
max_log_size=10
),
profiler='basic'
),
viewer=ViewerConfig(
relative_log_filename='viewer_log_filename.txt',
websocket_port=None,
websocket_port_default=7007,
websocket_host='0.0.0.0',
num_rays_per_chunk=32768,
max_num_display_images=512,
quit_on_train_completion=False,
image_format='jpeg',
jpeg_quality=75,
make_share_url=False,
camera_frustum_scale=0.1,
default_composite_depth=True
),
pipeline=VanillaPipelineConfig(
_target=<class 'nerfstudio.pipelines.base_pipeline.VanillaPipeline'>,
datamanager=FullImageDatamanagerConfig(
_target=<class 'nerfstudio.data.datamanagers.full_images_datamanager.FullImageDatamanager'>,
data=WindowsPath('C:/Users/alexa/nerfstudio/output/COLMAP/Blocuri_Calea_Sagului'),
masks_on_gpu=False,
images_on_gpu=False,
dataparser=NerfstudioDataParserConfig(
_target=<class 'nerfstudio.data.dataparsers.nerfstudio_dataparser.Nerfstudio'>,
data=WindowsPath('.'),
scale_factor=1.0,
downscale_factor=None,
scene_scale=1.0,
orientation_method='up',
center_method='poses',
auto_scale_poses=True,
eval_mode='fraction',
train_split_fraction=0.9,
eval_interval=8,
depth_unit_scale_factor=0.001,
mask_color=None,
load_3D_points=True
),
camera_res_scale_factor=1.0,
eval_num_images_to_sample_from=-1,
eval_num_times_to_repeat_images=-1,
eval_image_indices=(0,),
cache_images='cpu',
cache_images_type='uint8',
max_thread_workers=None
),
model=SplatfactoModelConfig(
_target=<class 'nerfstudio.models.splatfacto.SplatfactoModel'>,
enable_collider=True,
collider_params={'near_plane': 2.0, 'far_plane': 6.0},
loss_coefficients={'rgb_loss_coarse': 1.0, 'rgb_loss_fine': 1.0},
eval_num_rays_per_chunk=4096,
prompt=None,
warmup_length=500,
refine_every=100,
resolution_schedule=3000,
background_color='random',
num_downscales=2,
cull_alpha_thresh=0.1,
cull_scale_thresh=0.5,
continue_cull_post_densification=True,
reset_alpha_every=30,
densify_grad_thresh=0.0002,
densify_size_thresh=0.01,
n_split_samples=2,
sh_degree_interval=1000,
cull_screen_size=0.15,
split_screen_size=0.05,
stop_screen_size_at=4000,
random_init=False,
num_random=50000,
random_scale=10.0,
ssim_lambda=0.2,
stop_split_at=15000,
sh_degree=3,
use_scale_regularization=False,
max_gauss_ratio=10.0,
output_depth_during_training=False,
rasterize_mode='classic'
)
),
optimizers={
'means': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.00016,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': ExponentialDecaySchedulerConfig(
_target=<class 'nerfstudio.engine.schedulers.ExponentialDecayScheduler'>,
lr_pre_warmup=1e-08,
lr_final=1.6e-06,
warmup_steps=0,
max_steps=30000,
ramp='cosine'
)
},
'features_dc': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.0025,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': None
},
'features_rest': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.000125,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': None
},
'opacities': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.05,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': None
},
'scales': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.005,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': None
},
'quats': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.001,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': None
},
'camera_opt': {
'optimizer': AdamOptimizerConfig(
_target=<class 'torch.optim.adam.Adam'>,
lr=0.001,
eps=1e-15,
max_norm=None,
weight_decay=0
),
'scheduler': ExponentialDecaySchedulerConfig(
_target=<class 'nerfstudio.engine.schedulers.ExponentialDecayScheduler'>,
lr_pre_warmup=1e-08,
lr_final=5e-05,
warmup_steps=0,
max_steps=30000,
ramp='cosine'
)
}
},
vis='viewer',
data=WindowsPath('C:/Users/alexa/nerfstudio/output/COLMAP/Blocuri_Calea_Sagului'),
prompt=None,
relative_model_dir=WindowsPath('nerfstudio_models'),
load_scheduler=True,
steps_per_save=2000,
steps_per_eval_batch=0,
steps_per_eval_image=100,
steps_per_eval_all_images=1000,
max_num_iterations=30000,
mixed_precision=False,
use_grad_scaler=False,
save_only_latest_checkpoint=True,
load_dir=None,
load_step=None,
load_config=None,
load_checkpoint=None,
log_gradients=False,
gradient_accumulation_steps={}
)
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Saving config to: experiment_config.py:136
outputs\Blocuri_Calea_Sagului\splatfacto\2024-04-07_150439\config.yml
Saving checkpoints to: trainer.py:136
outputs\Blocuri_Calea_Sagului\splatfacto\2024-04-07_150439\nerfstudio_models
Auto image downscale factor of 4 nerfstudio_dataparser.py:484
╭─────────────── viser ───────────────╮
│ ╷ │
│ HTTP │ http://0.0.0.0:7007 │
│ Websocket │ ws://0.0.0.0:7007 │
│ ╵ │
╰─────────────────────────────────────╯
[NOTE] Not running eval iterations since only viewer is enabled.
Use --vis {wandb, tensorboard, viewer+wandb, viewer+tensorboard} to run with eval.
No Nerfstudio checkpoint to load, so training from scratch.
Disabled comet/tensorboard/wandb event writers
[15:04:49] Caching / undistorting train images full_images_datamanager.py:179
C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py:383: UserWarning: Error checking compiler version
for cl: [WinError 2] The system cannot find the file specified
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
( ● ) gsplat: Setting up CUDA (This may take a few minutes the first time)INFO: Could not find files for the given pattern(s).
Printing profiling stats, from longest to shortest duration in seconds
VanillaPipeline.get_train_loss_dict: 3.1626
Trainer.train_iteration: 3.1626
Traceback (most recent call last):
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat\cuda_backend.py", line 56, in
from gsplat import csrc as C
ImportError: cannot import name 'csrc' from 'gsplat' (C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat_init.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\alexa.conda\envs\nerfstudio\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\alexa.conda\envs\nerfstudio\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\alexa.conda\envs\nerfstudio\Scripts\ns-train.exe_main.py", line 7, in
File "C:\Users\alexa\nerfstudio\nerfstudio\scripts\train.py", line 262, in entrypoint
main(
File "C:\Users\alexa\nerfstudio\nerfstudio\scripts\train.py", line 247, in main
launch(
File "C:\Users\alexa\nerfstudio\nerfstudio\scripts\train.py", line 189, in launch
main_func(local_rank=0, world_size=world_size, config=config)
File "C:\Users\alexa\nerfstudio\nerfstudio\scripts\train.py", line 100, in train_loop
trainer.train()
File "C:\Users\alexa\nerfstudio\nerfstudio\engine\trainer.py", line 250, in train
loss, loss_dict, metrics_dict = self.train_iteration(step)
File "C:\Users\alexa\nerfstudio\nerfstudio\utils\profiler.py", line 112, in inner
out = func(*args, **kwargs)
File "C:\Users\alexa\nerfstudio\nerfstudio\engine\trainer.py", line 471, in train_iteration
_, loss_dict, metrics_dict = self.pipeline.get_train_loss_dict(step=step)
File "C:\Users\alexa\nerfstudio\nerfstudio\utils\profiler.py", line 112, in inner
out = func(*args, **kwargs)
File "C:\Users\alexa\nerfstudio\nerfstudio\pipelines\base_pipeline.py", line 300, in get_train_loss_dict
model_outputs = self._model(ray_bundle) # train distributed data parallel model if world_size > 1
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "C:\Users\alexa\nerfstudio\nerfstudio\models\base_model.py", line 143, in forward
return self.get_outputs(ray_bundle)
File "C:\Users\alexa\nerfstudio\nerfstudio\models\splatfacto.py", line 711, in get_outputs
self.xys, depths, self.radii, conics, comp, num_tiles_hit, cov3d = project_gaussians( # type: ignore
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat\project_gaussians.py", line 61, in project_gaussians
return _ProjectGaussians.apply(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\autograd\function.py", line 539, in apply
return super().apply(*args, **kwargs) # type: ignore[misc]
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat\project_gaussians.py", line 110, in forward
) = C.project_gaussians_forward(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat\cuda_init.py", line 7, in call_cuda
from ._backend import _C
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\gsplat\cuda_backend.py", line 88, in
_C = load(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py", line 1308, in load
return _jit_compile(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py", line 1710, in _jit_compile
_write_ninja_file_and_build_library(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py", line 1810, in _write_ninja_file_and_build_library
_write_ninja_file_to_build_library(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py", line 2242, in _write_ninja_file_to_build_library
_write_ninja_file(
File "C:\Users\alexa.conda\envs\nerfstudio\lib\site-packages\torch\utils\cpp_extension.py", line 2382, in _write_ninja_file
cl_paths = subprocess.check_output(['where',
File "C:\Users\alexa.conda\envs\nerfstudio\lib\subprocess.py", line 415, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Users\alexa.conda\envs\nerfstudio\lib\subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['where', 'cl']' returned non-zero exit status 1.
from nerfstudio.
I've found the solution, you just have to add these paths to the PATH system environment variables and now the training starts with no problem:
- C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\bin\Hostx64\x64
- C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE
from nerfstudio.
Related Issues (20)
- logging training steps not working HOT 3
- Worse metrics from loaded checkpoint of splatfacto using ns-eval HOT 1
- ns-render出现RuntimeError: stack expects a non-empty TensorList HOT 1
- ValueError: Invalid shape for means3d: torch.Size([0, 3]) HOT 3
- What do users see in the viewer?Is a photo? HOT 1
- ns-train won't halt the execution after finished training HOT 1
- Rendering results for Nerfacto not training well
- torch.tensor(camera["camera_to_world"]).view(4, 4)[:3] HOT 4
- Clicking on a training camera should (ideally) snap to the exact position of this camera
- overlay creation in create_sfm_depth
- Loading a checkpoint trains past 100%
- camera intrinsic
- Error retrieving public link during file download using gdown in nerfstudio environment HOT 3
- Problem using ORB-SLAM2 results instead of COLMAP for the data processing step
- How can I render and visualize in W&B all images during training? (every x steps) HOT 2
- Floater Free Gaussian Splats HOT 1
- 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 HOT 2
- [Question] How do I combine colmap dataparser parameters with splatfacto training? HOT 2
- Processing issue on colab, I'm using a custom dataset and during the preprocessing stage, I get the message "Done copying images with prefix frame" but then the cell terminates and nothing happens.
- ns-process-data crop does not work as expected
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nerfstudio.