More renaming (#590)

This commit is contained in:
Matthew Tancik authored and GitHub committed 2022-09-30 09:48:52 -07:00
1 parent 1f83ad03db
commit 1bb0c88fb5
9 files changed
+115 -101

No files matched your search

+44 -42
View File
@@ -60,13 +60,11 @@ We hope nerfstudio enables you to build faster :hammer: learn together :books: a
The quickstart will help you get started with the default vanilla nerf trained on the classic blender lego scene.
For more complex changes (e.g. running with your own data/ setting up a new NeRF graph, please refer to our [references](#learn-more).
#### 1. Installation: Setup the environment
## 1. Installation: Setup the environment
This repository is tested with CUDA 11.3. Make sure to install [Conda](https://docs.conda.io/en/latest/miniconda.html#linux-installers) before preceding.
### Create environment
</details>
Create the python environment
We reccomend using conda to manage dependencies. Make sure to install [Conda](https://docs.conda.io/en/latest/miniconda.html) before preceding.
```
conda create --name nerfstudio python=3.8.13
@@ -74,36 +72,46 @@ conda activate nerfstudio
python -m pip install --upgrade pip
```
Clone the repo
### Dependencies
```
git clone git@github.com:plenoptix/nerfstudio.git
```
Install dependencies and nerfstudio as a library
```
cd nerfstudio
pip install -e .
```
Install tiny-cuda-nn (tcnn) to run instant_ngp
Install pytorch with CUDA (this repo has been tested with CUDA 11.3) and [tiny-cuda-nn](https://github.com/NVlabs/tiny-cuda-nn)
```
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
```
Install tab completion for nerfstudio (bash & zsh)
### Installing nerfstudio
Easy option:
```
nf-install-cli
pip install nerfstudio
```
Run the test cases
If you would want the latest and greatest:
```
pytest tests
git clone git@github.com:plenoptix/nerfstudio.git
cd nerfstudio
pip install -e .
```
### Optional Installs
**Tab completion (bash & zsh)**
This needs to be rerun when the CLI changes, for example if nerfstudio is updated.
```bash
ns-install-cli
```
**Development packages**
```bash
pip install -e.[dev]
pip install -e.[docs]
```
#### 2. Getting the data
@@ -111,7 +119,7 @@ pytest tests
Download the original NeRF Blender dataset. We support the major datasets and allow users to create their own dataset, described in detail [here](https://plenoptix-nerfstudio.readthedocs-hosted.com/en/latest/tutorials/data/index.html).
```
python scripts/downloads/download_data.py --dataset=blender
ns-download-data --dataset=blender
```
Use `--help` to view all currently available datasets. The resulting script should download and unpack the dataset as follows:
@@ -128,40 +136,34 @@ Use `--help` to view all currently available datasets. The resulting script shou
...
```
#### 3. Training a model
## 3. Training a model
To run with all the defaults, e.g. vanilla nerf method with the blender lego image
```
# To see what models are available.
python scripts/train.py --help
ns-train --help
# Run a vanilla nerf model.
python scripts/train.py vanilla_nerf
ns-train vanilla-nerf
# Run a faster version with instant ngp using tcnn (without the viewer).
python scripts/train.py instant_ngp
#
ns-train nerfacto
```
#### 3.x Training a model with the viewer
### 3.x Training a model with the viewer
Make sure to forward a port for the websocket to localhost. The default port is 7007, which you should be expose to localhost:7007.
```bash
# with the default port
python scripts/train.py instant_ngp --viewer.enable
ns-train nerfacto --vis viewer
# with a specified websocket port
python scripts/train.py instant_ngp --viewer.enable --viewer.websocket-port=7008
# with the viewer bridge server as a separate process
# in one terminal, start the bridge server:
viewer-bridge-server # or equivalently, python scripts/run_viewer_bridge_server.py
# in another terminal, start training:
python scripts/train.py instant_ngp --viewer.enable --viewer.no-launch-bridge-server
ns-train nerfacto --vis viewer --viewer.websocket-port=7008
```
#### 4. Visualizing training runs
### 4. Visualizing training runs
We support multiple methods to visualize training, the default configuration uses Tensorboard. More information on logging can be found [here](https://plenoptix-nerfactory.readthedocs-hosted.com/en/latest/tooling/logging_profiling.html).
@@ -170,7 +172,7 @@ We support multiple methods to visualize training, the default configuration use
We have developed our own Real-time web viewer, more information can be found [here](https://plenoptix-nerfactory.readthedocs-hosted.com/en/latest/tutorials/viewer/index.html). This viewer runs during training and is designed to work with models that have fast rendering pipelines.
To turn on the viewer, simply add the flag `--viewer.enable`.
To turn on the viewer, simply add the flag `--vis viewer`.
</details>
@@ -192,13 +194,13 @@ We support logging to weights and biases. To enable wandb logging, add the flag
</details>
#### 5. Rendering a trajectories during inference
## 5. Rendering a trajectories during inference
```
python scripts/eval.py render-trajectory --load-config=outputs/blender_lego/instant_ngp/2022-07-07_230905/config.yml--traj=spiral --output-path=output.mp4
ns-eval render-trajectory --load-config=outputs/blender_lego/instant_ngp/2022-07-07_230905/config.yml--traj=spiral --output-path=output.mp4
```
#### 6. In-depth guide
## 6. In-depth guide
For a more in-depth tutorial on how to modify/implement your own NeRF Graph, please see our [walk-through](https://plenoptix-nerfactory.readthedocs-hosted.com/en/latest/tutorials/pipelines/index.html).