4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 10:34:29 +08:00
This commit is contained in:
evonneng 2022-06-03 17:53:22 +00:00
commit 70479ab09e
4 changed files with 13 additions and 62 deletions

View File

@ -113,15 +113,25 @@ class NeRFGraph(Graph):
"""
Writes the test image outputs.
"""
<<<<<<< HEAD
```
=======
```
Note that the graph is composed of fields and modules. Fields (`nerf/fields/`) represents the actual radiance field of the NeRF and is composed of field modules (`nerf/field_modules/`). Here, we define the field as the part of the network that takes in point samples and any other conditioning, and outputs any of the `FieldHeadNames` (`nerf/field_modules/field_heads.py`). The misc. modules can be any module outside of the field that are needed by the NeRF (e.g. losses, samplers, renderers). To get started on a new NeRF implementation, you simply have to define all relevant modules and populate them in the graph.
#### Dataset population TODO(ethan)
#### Config
>>>>>>> e8118f0
####
# Feature List
#### :metal: [Hydra config structure](./configs/README.md)
#### :metal: [Logging, debugging utilities](./radiance/utils/README.md)
#### :metal: [Benchmarking, other tooling](./scripts/README.md)
#### :metal: [Hydra config structure](#)
#### :metal: [Logging, debugging utilities](#)
#### :metal: [Benchmarking, other tooling](#)
#### :metal: Running other repos with our data

View File

@ -1,7 +0,0 @@
# Logging and profiling features
We provide many logging functionalities for timing and/or tracking losses during training. All of these loggers are configurable via `configs/logging.yml`
1. **Writer**: Logs losses and generated images during training to a specified output stream. Specify the type of writer (Tensorboard, Local Writer, Weights and Biases), and how often to log in the config.
2. **Profiler**: Computes the average total time of execution for any function with the `@profiler.time_function` decorator. Prints out the full profile at the termination of training or the program.

View File

@ -1,52 +0,0 @@
# Tooling
1. One can use [autoenv](https://github.com/hyperupcall/autoenv) to make setting up the environment and environment variables easier. This will run the `.envrc` file upon entering the `/path/to/pyrad` folder. It will also remove the environment parameters upon leaving.
```
# Install direnv.
sudo apt install direnv
# Add the following line to the bottom of your ~/.bashrc file.
eval "$(direnv hook bash)"
# Populate your .envrc with commands you want to run. Then, run the following to allow updates.
cd /path/to/pyrad
direnv allow .
```
2. To run local **github actions**, you can run:
```
python scripts/debugging/run_actions.py
```
3. To run local **profiling** to get a flame graph, make sure [pyspy](https://github.com/benfred/py-spy) is installed and you can run:
```
pip install py-spy
## for flame graph
./scripts/debugging/profile.sh -t flame -o flame.svg -p scripts/run_train.py data/dataset=blender_lego
## for live view of functions
./scripts/debugging/profile.sh -t top -p scripts/run_train.py data/dataset=blender_lego
```
4. For debugging with a debugger.
```
ipython --pdb scripts/run_train.py
```
5. **Benchmarking** For launching training jobs automatically on blender dataset
```
./scripts/benchmarking/launch_train_blender.sh <gpu0> <gpu1> ... <gpu7>
```
For testing specific methods, see scripts/benchmarking/run_benchmark.py.
Modify the `BENCH` variable to specify which jobs ("ckpt_dir") and methods ("method") you want benchmarked. Then run
```
python scripts/benchmarking/run_benchmark.py
```

View File