Eng/doc nits (#650)

cleanup install
This commit is contained in:
evonneng authored and GitHub committed 2022-10-04 10:27:33 -07:00
1 parent af58b32cc8
commit 3d7abf5a4d
5 files changed
+74 -54

No files matched your search

+25 -15
View File
@@ -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
```
@@ -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.
@@ -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
```
- Disable line wrapping
```bash
ns-train {METHOD_NAME} --logging.local-writer.max-log-size=0
```
@@ -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
+17 -8
View File
@@ -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)
<br />
(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
```
<br />
(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
```
<br />
(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.