Commit Graph
85 Commits
Author SHA1 Message Date
Ethan Weber 841e03a9a3 Default to train dataset when eval isn't specified in config (#265)
default to train dataset when eval isn't in config
2022-08-10 15:29:56 -07:00
Ethan WeberandJake Austin 0b042be956 Pipeline v2 (#258)
* Model class done, pipeline class still needs more visualization stuffs

* Renaming the BaseDataContainer to DataloaderOutputs and adding documentation

* Pushing more documentation, removing some trivial functions

* Updating dict typing

* Removing config dicts for collider

* Passing tests

* Pushing shell new dataloader

* Saving work, need to fix NGP model's get_loss_dict and Pipeline

* V1 of the ngp pipeline should be done. Need train script and debugging

* Updating with latest instant-ngp code

* Syntax updates from latest ngp graph code

* Linter, removing unneeded code in new NGP graph code

* Style

* Should be good now. Linter is happy and the code is verbatum current instant-ngp

* Everything done except novel view testing code

* Fixing some nitpicks

* Debugging dataloader

* merged master

* WOP. integrating pipeline with configs and notebook demo

* removing model folder

* a lot of name changing from Graph to Model

* in progress... changing trainer to use pipeline... broken right now

* pipeline code runs

* switched to val dataset

* makes run_eval.py work

* updated configs for pipeline change

* fixing test_run_train script

* fixing black and linting

* fix docs

* small updates to trainer

Co-authored-by: Jake Austin <jake-austin@berkeley.edu>
2022-08-10 14:59:45 -07:00
Matt Tancik fd9c72ddc0 Add missing alpha colors to blender datasets 2022-08-01 11:24:31 -07:00
Matthew Tancik 58212543f5 Fix typing errors (#229) 2022-07-29 14:17:38 -07:00
Matthew Tancik a957e8c501 Move datasets to classes (#227) 2022-07-28 18:41:39 -07:00
Ruilong Li(李瑞龙) c27dc26e03 revert to the ray-batched inference (#219) 2022-07-27 15:07:54 -07:00
Ruilong Li(李瑞龙) 966fc50f28 Fix ngp num_rays_per_chunk bug; use enable_density_field to control ngp. (#215) 2022-07-27 13:18:48 -07:00
Ruilong Li(李瑞龙) 3e28a40c44 Speed-up NGP inference by 3x. (#211) 2022-07-27 10:19:19 -07:00
Ruilong Li(李瑞龙) 0777883fb6 make scene collider optional because NGP does not need it (#210) 2022-07-26 19:34:29 -07:00
Ruilong Li(李瑞龙) 31c2c2608d Make DensityGrid plug-and-play for the base Graph and the base Sampler. (#205) 2022-07-26 18:02:18 -07:00
Matt Tancik 550486ce22 Update configs 2022-07-26 16:17:29 -07:00
Matthew Tancik 828365ad30 Update documentation guides (#208) 2022-07-26 16:07:45 -07:00
Matthew Tancik 6dc704c551 Rename repo to nerfactory (#204)
* Rename to nerfactory

* Fix missing files
2022-07-25 13:52:20 -07:00
Ruilong Li(李瑞龙) 12cd321e1a Update Instant-NGP & Density Grid with CUDA supports. Much faster and better PSNR. (#193) 2022-07-24 22:22:44 -07:00
Matthew Tancik 441dcd5314 Add mix precision training (#172)
* Add mix precision training

* Disable mixed precision for cpu
2022-07-20 13:21:06 -07:00
evonneng 928a414468 adding sliders for min/max value user defined (#179)
* added sliders for min/max values... todo debug glitchy if camera moves

* fixed camera changing bug and removed sliders from config
2022-07-19 19:42:17 -07:00
Matthew Tancik ab35e28871 Cache full dataset by default (#157)
Cache full dataset by default
2022-07-15 17:52:15 -07:00
Matthew Tancik 2f2919535a Update configs (#147)
Update configs
2022-07-14 17:56:21 -07:00
Brent Yi c5eecaec8d Bump instant-ngp optimizer eps for numerical stability (#134)
* bump optimizer eps to 1e-7 for instant-ngp

* instant-ngp optimizer eps: 1e-7 -> 1e-4
2022-07-13 23:44:45 -07:00
Ethan Weber 0f779c2885 quick fix to hydra issue on changing working directory 2022-07-13 23:27:56 +00:00
Ethan Weber 4ddd146633 Improving eval script with camera trajectory videos (#124)
* spiral traj working, specify version for hydra, better documentation

* cleaned up spiral trajectory a bit
2022-07-13 10:58:01 -07:00
Matt Tancik 437606e614 Update mipnerf config 2022-07-12 16:53:42 -07:00
evonneng 898d9384a5 added logic to check all graphs in testing (#111)
* added logic to check all graphs in testing

* fixed path to test dataset
2022-07-11 16:05:44 -07:00
Matthew Tancik d0f0f8da2d Add interval loss (#92)
Implement interval loss that was proposed in mipnerf-360.
2022-07-06 17:27:19 -07:00
Ethan Weberandevonneng 56661b5d9a Viewer Dynamic Resolution Scaling (DRS) (#87)
* updated three.js version. only send camera information when it moves

* changing code back to updating camera constantly because packets seem to be lost

* interrupting function during rendering

* small linting fixes

* added logic for interrupting rendering + separted out visualizer logic from trainer

Co-authored-by: evonneng <evonne_ng@berkeley.edu>
2022-07-06 15:47:08 -07:00
Ethan Weberandevonneng bf13ed3cf3 Integrating WebRTC into viewer (#73)
* restructuring for webrtc integration

* some webrtc code but not working

* webrtc connects when muted

* the flag is real!

* updating camera in websocket bridge. moved webrtc to existing websocket connection instead of http request. need to change video track

* rudimentary adding real-time imaging

* added free TURN server so code works everywhere

* slow rendering works during training with the viewer

* fix tensor device and update default model save dir

* forgot to include trainer updates

* removing some code that isn't needed

* quick fix to bins. not the most accurate however

* cleaned up code and added some config logic

* black

* adding license

Co-authored-by: evonneng <evonne_ng@berkeley.edu>
2022-07-05 14:52:49 -07:00
Ethan Weber fefbad2592 Fixed frustum device and updated model checkpoint defaults (#78)
* fix tensor device and update default model save dir

* removed viewer reference
2022-07-04 17:22:39 -07:00
Matthew Tancik 304a759e85 Tancik/scene contraction (#70)
Contract the scene to a sphere of radius 2. This is the same contraction used in MipNeRF 360.
Add mipnerf 360 graph and config. It currently doesn't contain the other advancements made in the paper (sample proposal network, regularizers)
2022-06-29 18:28:21 -07:00
Matt Tancik 73a2449bae Fix hydra bug 2022-06-25 18:43:10 -07:00
evonneng ee4e6b24f4 Added structured config support (#58)
* added typed config; idealy would convert graph to typed too....

* added graph as config
2022-06-17 08:46:03 -07:00
evonneng 91ef54963c refactoring configs; pulled network out of graph; created trainer heirarchy (#51)
* changed config graph structure

* removed network udner graphs; added new heirarchy trainer

* fixed callback in occupancy graph

* lint

* changed register callback to setter method
2022-06-15 09:06:43 -07:00
evonneng f67dca6f5b refactor moving setup functions to associated classes; cleanup eval and benchmark scripts (#48)
* refactor code to move graph/dataset setup to respective files

* consolidated eval and benchmark script

* moved setup optimizers to its own thing
2022-06-13 19:05:07 -07:00
Matt Tancik 3921839d1a Update config 2022-06-13 13:39:49 -07:00
Matt Tancik cc79708df7 Cleanup mipnerf implementation 2022-06-09 17:26:58 -07:00
Ethan Weber 457788d689 dataloader logic, new folder structure, flatter configs (#26)
* renaming dataloader to data. adding some dataloader classes

* restructuring configs

* fixed instant ngp tcnn direction rescaling

* working through test cases

* black and lint and tests
2022-06-08 09:01:56 -07:00
Ethan Weber 146332cfb6 Refactoring (data loading, semantic-nerf/nerf-w fixes, ...) (#8)
* in progress. camera_indices broken

* faster dataloader. starting on pixel sampler logic

* imagesampler and pixelsampler

* lint and black

* continuing merge

* pytest working

* fixed docs

* docs

* minor changes
2022-06-02 14:58:46 -04:00
Matt Tancik 1a8ad9a763 Change name to pyrad 2022-05-31 14:15:06 -07:00
evonneng fbcf3cb831 Eng/better configs (#113)
* update possible config setup

* finished porting remaning configs

* fix bugs

* change mattprot to radiance in config
2022-05-30 10:47:49 -07:00
Matt Tancik b26408eb7a Adios mattport 2022-05-30 09:24:12 -07:00
Ethan Weber 3226a1c989 CPU usage improvement and minor changes (#108)
* cpu fixes, masking logic but commented out, nerfw and semanticnerf in progress

* pylint
2022-05-26 10:18:08 -04:00
Matt Tancik 4cccc9110d RAdam + background color fix 2022-05-24 11:28:05 -07:00
Ethan Weber 7d8beaaed4 Tiny-cuda-nn and fixed logic for instant-ngp (#102)
* correcting implementation for instant ngp

* instant ngp with tcnn

* black and pylint

* merged master
2022-05-23 12:05:41 -07:00
evonneng 2144fd1527 Enable stats tracker logging on full history (#91)
* added logger ability to log everything without erasing
2022-05-20 11:41:34 -07:00
evonneng 10d713f84b Consolidate StatsTracker as LocalWriter; cleaned up functions to write (#88)
* removed stats tracker; consolidate writers into local writer

* basic revamp of stats tracker/writers
2022-05-20 08:51:45 -07:00
Ethan Weber 676beebb14 Setting near and far with scene bounds collider. Also LR schedules. (#74)
* some initial cuda code as I learn. using git to save progress.

* first cuda kernel for ray sampling that mostly works

* cleaning up code. working on lr. structs for scene bounds aabb

* added scene bounds collider code

* updated setup

* setup

* setup

* black

* including some files

* exporting env variable

* new file

* git workflows

* github actions

* github actions

* github actions

* removing env var
2022-05-16 14:03:19 -07:00
Ethan Weber 1c1a58c4e5 nerf-w and semantic-nerf initial implementations (#73)
* initial nerfw code

* nerfw should be implmented correctly now

* semantic nerf in progress. data loader is too slow and not clean right now

* added implementation of semantic nerf

* mend
2022-05-13 17:44:16 -07:00
evonneng a555ef7eb4 cap history in calc avg of stats; tensorboard output to /tmp (#67)
* cap history in calc avg of stats

* fixed too many nested ifs
2022-05-10 16:55:16 -07:00
Matt Tancik 8c1e9d7f1a Better align with nerf 2022-05-10 10:18:20 -07:00
Ethan Weber 5fb3d14304 Fixed testing and added graph abstractions (#64)
* abstracted some test logic and actually using test images now

* moved logging from trainer to graph

* fixing dataset path

* refactored instant ngp code to use inheritance

* fixed my run_train

* fixed data path

* fixed data dir
2022-05-09 11:54:40 -07:00
evonneng a498a6cc64 Standardized logging code to all global var; writers now accessible from all files (#62)
* added skeleton for terminal logger

* done skeleton terminal writer logic... todo: actual calls to the write classes

* moved lambda to top function

* added logic to support timing

* prettier printing

* prettier printing

* lint

* separated out timing and other stats variables. printing in dict format

* keeping logging history and wiping rest

* updated logic to calculate total times instead of average times

* made stats tracker configurable

* moved stats tracker and profiler to own class file; implemented basic functionality for profiler

* lint removing duplicate function

* update readme; moved around config variables

* profiler prints on sig kill

* merge

* standardized all logging to global variables
2022-05-06 21:55:33 -07:00