4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00
nerfstudio/scripts/viewer/view_dataset.py
Jonáš Kulhánek 6368340aa2
Add ns-viewer command to run viewer only with model in eval mode (#1379)
* Add ns-viewer command to run only viewer with model in eval mode

* Remove profiler and logger

* Fix ns-viewer

* ns-viewer remove writer.setup_local_writer

* ns-viewer add writer.setup_local_writer

* ns-viewer: update docs

* Delete outputs
2023-02-09 17:31:16 -08:00

46 lines
1.3 KiB
Python

#!/usr/bin/env python
"""
view_dataset.py
"""
import time
from datetime import timedelta
from pathlib import Path
import torch
import tyro
from rich.console import Console
from nerfstudio.configs.base_config import ViewerConfig
from nerfstudio.data.datamanagers.base_datamanager import AnnotatedDataParserUnion
from nerfstudio.data.datasets.base_dataset import InputDataset
from nerfstudio.viewer.server import viewer_utils
DEFAULT_TIMEOUT = timedelta(minutes=30)
CONSOLE = Console(width=120)
# speedup for when input size to model doesn't change (much)
torch.backends.cudnn.benchmark = True # type: ignore
def main(
dataparser: AnnotatedDataParserUnion,
viewer: ViewerConfig,
log_base_dir: Path = Path("/tmp/nerfstudio_viewer_logs"),
) -> None:
"""Main function."""
viewer_state, _ = viewer_utils.setup_viewer(
viewer,
log_filename=log_base_dir / viewer.relative_log_filename,
datapath=dataparser.data,
)
dataset = InputDataset(dataparser.setup().get_dataparser_outputs(split="train"))
viewer_state.init_scene(dataset=dataset, start_train=False)
CONSOLE.log("Please refresh and load page at: %s", viewer_state.viewer_url)
time.sleep(30) # allowing time to refresh page
if __name__ == "__main__":
tyro.extras.set_accent_color("bright_yellow")
tyro.cli(main)