diff --git a/docs/developer_guides/config.md b/docs/developer_guides/config.md index f2d07b0b4..433cb5e5f 100644 --- a/docs/developer_guides/config.md +++ b/docs/developer_guides/config.md @@ -83,23 +83,33 @@ After placing your new `Config` class into the `model_configs` dictionary, you c ### Modifying from CLI Often times, you just want to play with the parameters of an existing model without having to specify a new one. You can easily do so via CLI. Below, we showcase some useful CLI commands. -```bash -# list out all existing models -ns-train --help +- List out all existing models + ```bash + ns-train --help + ``` -# list out all exist configurable parameters for {MODEL_NAME} -ns-train {MODEL_NAME} --help +- List out all exist configurable parameters for `{MODEL_NAME}` + ```bash + ns-train {MODEL_NAME} --help + ``` -# change the train/eval dataset -ns-train {MODEL_NAME} --data DATA_PATH +- Change the train/eval dataset + ```bash + ns-train {MODEL_NAME} --data DATA_PATH + ``` -# enable the viewer -ns-train {MODEL_NAME} --vis viewer +- Enable the viewer + ```bash + ns-train {MODEL_NAME} --vis viewer + ``` -# see what options are available for the specified dataparser (e.g. blender-data) -ns-train {MODEL_NAME} {DATA_PARSER} --help +- See what options are available for the specified dataparser (e.g. blender-data) + ```bash + ns-train {MODEL_NAME} {DATA_PARSER} --help + ``` -# run with changed dataparser attributes and viewer on -# NOTE: the dataparser and associated configurations go at the end of the command -ns-train {MODEL_NAME} --vis viewer {DATA_PARSER} --scale-factor 0.5 -``` +- Run with changed dataparser attributes and viewer on + ```bash + # NOTE: the dataparser and associated configurations go at the end of the command + ns-train {MODEL_NAME} --vis viewer {DATA_PARSER} --scale-factor 0.5 + ``` diff --git a/docs/developer_guides/debugging_tools/benchmarking.md b/docs/developer_guides/debugging_tools/benchmarking.md index fbd7e62f1..ef317acfd 100644 --- a/docs/developer_guides/debugging_tools/benchmarking.md +++ b/docs/developer_guides/debugging_tools/benchmarking.md @@ -26,14 +26,15 @@ To view all the arguments and annotations, you can run `./scripts/benchmarking/l A full example would be: -```bash +- With `-g` specifying gpus + ```bash + ./scripts/benchmarking/launch_train_blender.sh -m nerfacto -g 0 1 2 3 + ``` -# with -g specifying gpus -./scripts/benchmarking/launch_train_blender.sh -m nerfacto -g 0 1 2 3 - -# without -g automatically finds available gpus -./scripts/benchmarking/launch_train_blender.sh -m nerfacto -``` +- Without `-g` automatically finds available gpus + ```bash + ./scripts/benchmarking/launch_train_blender.sh -m nerfacto + ``` The script will automatically launch training on all of the items and save the checkpoints in an output directory with the experiment name and current timestamp. diff --git a/docs/developer_guides/debugging_tools/local_logger.md b/docs/developer_guides/debugging_tools/local_logger.md index 3eef57b41..92461154d 100644 --- a/docs/developer_guides/debugging_tools/local_logger.md +++ b/docs/developer_guides/debugging_tools/local_logger.md @@ -2,28 +2,26 @@ The `LocalWriter` simply outputs numerical stats to the terminal. You can specify additional parameters to customize your logging experience. +A skeleton of the local writer config is defined below. ```python +"""nerfstudio/configs/base_config.py"""" + @dataclass class LocalWriterConfig(InstantiateConfig): """Local Writer config""" _target: Type = writer.LocalWriter - """target class to instantiate""" enable: bool = False - """if True enables local logging, else disables""" stats_to_track: Tuple[writer.EventName, ...] = ( writer.EventName.ITER_TRAIN_TIME, - writer.EventName.TRAIN_RAYS_PER_SEC, - writer.EventName.CURR_TEST_PSNR, - writer.EventName.VIS_RAYS_PER_SEC, - writer.EventName.TEST_RAYS_PER_SEC, + ... ) - """specifies which stats will be logged/printed to terminal""" max_log_size: int = 10 - """maximum number of rows to print before wrapping. if 0, will print everything.""" + ``` +You can customize the local writer by editing the attributes: - `enable`: enable/disable the logger. - `stats_to_track`: all the stats that you want to print to the terminal (see list under `EventName` in `utils/writer.py`). You can add or remove any of the defined enums. - `max_log_size`: how much content to print onto the screen (By default, only print 10 lines onto the screen at a time). If 0, will print everything without deleting any previous lines. @@ -39,10 +37,12 @@ If you want to create a new stat to track, simply add the stat name to the `Even The local writer is easily configurable via CLI. A few common commands to use: -```bash -# disable local writer -ns-train {METHOD_NAME} --logging.local-writer.no-enable +- Disable local writer + ```bash + ns-train {METHOD_NAME} --logging.local-writer.no-enable + ``` -# disable line wrapping -ns-train {METHOD_NAME} --logging.local-writer.max-log-size=0 -``` \ No newline at end of file +- Disable line wrapping + ```bash + ns-train {METHOD_NAME} --logging.local-writer.max-log-size=0 + ``` \ No newline at end of file diff --git a/docs/developer_guides/debugging_tools/profiling.md b/docs/developer_guides/debugging_tools/profiling.md index dc67afea3..ed8796cec 100644 --- a/docs/developer_guides/debugging_tools/profiling.md +++ b/docs/developer_guides/debugging_tools/profiling.md @@ -44,16 +44,16 @@ pip install py-spy To perform the profiling, you can either specify that you want to generate a flame graph or generate a live-view of the profiler. -```bash -## flame graph: with wandb logging and our inhouse logging disabled -program="ns-train nerfacto -- --vis=wandb --logging.no-enable-profiler blender-data" -py-spy record -o {PATH_TO_OUTPUT_SVG} $program -``` - -```bash -## top-down stats: running same program configuration as above -py-spy top $program -``` +- flame graph: with wandb logging and our inhouse logging disabled + ```bash + program="ns-train nerfacto -- --vis=wandb --logging.no-enable-profiler blender-data" + py-spy record -o {PATH_TO_OUTPUT_SVG} $program + ``` +- top-down stats: running same program configuration as above + ```bash + py-spy top $program + ``` + :::{admonition} Attention :class: attention diff --git a/docs/quickstart/installation.md b/docs/quickstart/installation.md index 96de6e61d..7db10083d 100644 --- a/docs/quickstart/installation.md +++ b/docs/quickstart/installation.md @@ -23,13 +23,13 @@ pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/to ## Installing nerfstudio -Pip package: +**From pip** ```bash pip install nerfstudio ``` -If you want the latest and greatest: +**From source** ```bash git clone git@github.com:nerfstudio-project/nerfstudio.git @@ -38,9 +38,12 @@ pip install -e . ``` -### Optional +:::{admonition} Note +:class: info +Below are optional installations, but makes developing with nerfstudio much more convenient. +::: -#### Tab completion (bash & zsh) +**Tab completion (bash & zsh)** This needs to be rerun when the CLI changes, for example if nerfstudio is updated. @@ -48,7 +51,7 @@ This needs to be rerun when the CLI changes, for example if nerfstudio is update ns-install-cli ``` -### Development packages +**Development packages** ```bash pip install -e.[dev] @@ -61,9 +64,11 @@ pip install -e.[docs] - [Installation errors, File "setup.py" not found](pip-install-error) - [Runtime errors, "len(sources) > 0".](cuda-sources-error) +
+ (tiny-cuda-error)= -#### TinyCUDA installation errors out with cuda mismatch +**TinyCUDA installation errors out with cuda mismatch** While installing tiny-cuda, you run into: `The detected CUDA version mismatches the version that was used to compile PyTorch (10.2). Please make sure to use the same CUDA versions.` @@ -73,9 +78,11 @@ While installing tiny-cuda, you run into: `The detected CUDA version mismatches pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html ``` +
+ (pip-install-error)= -#### Installation errors, File "setup.py" not found +**Installation errors, File "setup.py" not found** When installing dependencies and nerfstudio with `pip install -e .`, you run into: `ERROR: File "setup.py" not found. Directory cannot be installed in editable mode` @@ -86,9 +93,11 @@ This can be fixed by upgrading pip to the latest version: python -m pip install --upgrade pip ``` +
+ (cuda-sources-error)= -#### Runtime errors: "len(sources) > 0", "ctype = \_C.ContractionType(type.value) ; TypeError: 'NoneType' object is not callable". +**Runtime errors: "len(sources) > 0", "ctype = \_C.ContractionType(type.value) ; TypeError: 'NoneType' object is not callable".** When running `train.py `, an error occurs when installing cuda files in the backend code.