4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 02:24:38 +08:00

Pushing more introduction docs (#683)

* Pushing more introduction docs
This commit is contained in:
Jake Austin 2022-10-05 01:50:49 -07:00 committed by GitHub
parent 464f05f0af
commit a95bb2d611
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 0 deletions

View File

@ -60,6 +60,39 @@ ns-train nerfacto --vis viewer --data data/nerfstudio/poster --viewer.websocket-
* All data configurations must go at the end. In this case, `nerfstudio-data` and all of its corresponding configurations come at the end after the model and viewer specification.
:::
## Intro to nerfstudio CLI and Configs
Nerfstudio allows for customizing your training runs, eval runs, configs from the CLI in a powerful way, but there are some things to understand.
The most demonstrative and helpful example of this in action is the difference in output between the following commands:
```bash
ns-train -h
```
```bash
ns-train nerfacto -h nerfstudio-data
```
```bash
ns-train nerfacto nerfstudio-data -h
```
In each of these examples, the -h applies to the previous subcommand (`ns-train`, `nerfacto`, and `nerfstudio-data`).
In the first example, this shows us the help menu for the `ns-train` script.
In the second examples, we will get the help menu for the `nerfacto` model.
In the third examples, we will get the help menu for the `nerfstudio-data` dataparser.
With our scripts, your arguments will apply to the previous subcommand in your command, and thus where you put your arguments matters! Any optional arguments you discover while doing
```bash
ns-train nerfacto -h nerfstudio-data
```
need to come directly after the `nerfacto` subcommand since these optional arguments only belong to the `nerfacto` subcommand:
```bash
ns-train nerfacto <nerfacto optional args> nerfstudio-data
```
Each script will have some other minor quirks (like the training script dataparser subcommand needing to come after the model subcommand), read up on them [here](../reference/cli/index.md).
## Visualizing training runs
If you are using a fast NeRF variant (ie. Nerfacto/Instant-NGP), we recommend using our viewer. See our [viewer docs](viewer_quickstart.md) for a tutorial on using the viewer. The viewer will allow interactive, real-time visualization of training.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1 +1,21 @@
# Setting up viewer
## Training on a local machine
You should be able to click the link obtained while running a script to open the viewer in your browser.
![visualize_dataset](imgs/viewer_link.png)
## Training on a remote machine
If you are training on a remote maching, the viewer will still let you view your trainings. You will need to forward the port that the viewer is running on. For example, if you are running the viewer on port 7007, you will need to forward that port to your local machine. You can (without needing to modify router port settings) simply do this by opening a new terminal window and sshing into the remote machine with the following command:
```bash
ssh -L 7007:localhost:7007 <username>@<remote-machine-ip>
```
So long as you don't close this terminal window with this specific active ssh connection, the port will remain open for all your other ssh sessions. For example, if you do this in a new terminal window, any existing ssh sessions (terminal windows, VSCode remote connection, etc) will still be able to access the port, but if you close this terminal window, the port will be closed.
You can now simply open the link (the one printed when you begin your train script) in your browser on your local machine and it should connect!
![visualize_dataset](imgs/viewer_link.png)
If the port is being used, you can simply switch the port using the `--viewer.websocket-port` flag tied to the model subcommand.

View File

@ -25,6 +25,8 @@ pip install -e .[dev]
pip install -e .[docs]
```
This will ensure you have the required packages to run the tests, linter, build the docs, etc.
You may also need to install [pandoc](https://pandoc.org/). If you are using `conda` you can run the following:
```bash