-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nerfacto-huge #2003
nerfacto-huge #2003
Conversation
@wtj-zhong Interesting, the GPU shouldn't matter, could you give more details on the scenes/images? |
nerfstudio/fields/nerfacto_field.py
Outdated
@@ -112,8 +113,7 @@ def __init__( | |||
self.use_pred_normals = use_pred_normals | |||
self.pass_semantic_gradients = pass_semantic_gradients | |||
|
|||
base_res: int = 16 | |||
features_per_level: int = 2 | |||
base_res: int = 32 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neuralangelo uses 32 as base_res, maybe we could make it a parameter, but I think bumping to 32 is fairly safe
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will probably break existing checkpoints. Maybe make it a parameter with the default being the old value
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm ok
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
FWIW: A week or so ago, I tried this branch and it ran perfectly on my 3090, even on a 1200 image sample input. I am not sure if this is intentional or not, as the PR wasn't "done" before, but it is certainly an explosive growth in resource usage compared to before. |
I'll look into this and try to patch it, the intention is to fit on a 24G GPU |
Try |
You move quickly! |
That warning is not a problem it just means that tinycudann is defaulting to a slightly slower version of MLP which can handle larger internal hidden units. Before we didn't print anything but now it prints some warnings. Does it seem run without issues on your GPU now? |
(Also, if your dataset has masks, #1730 changed handling) |
Overnight it completed the run without errors, I haven't gotten around to check the result yet but I assume that's fine too.
No masks here. |
Okay, power stayed on after all so I did some digging into the system memory issue. This all happens during the "Loading data batch" stage. |
Sorry, no, it does not seem to affect the other nerfacto methods after all. There seems to be an inconsistency on my system that makes the loading process take varying amounts of time that made it seem so. I'll make an issue for this, since a closed PR is probably not the best way to track this. |
An even larger version of nerfacto with scaled hashgrid resolution, MLP sizes, batch sizes, appearance embeddings, proposal sampler resolution, and more. Also includes some minor tweaks to nerfacto-big configs
WIP for a very high quality nerfacto version
People should play with it and see how it works, I noticed stability issues on a couple scenes (albeit captured from robots with bad camera poses) I think this mainly comes from the higher hashgrid resolution introducing more high frequency noise.
Main parameters that matter:
I had stability issues when I used Adam, RAdam fixes this, but it feels odd to have to use RAdam. Maybe worth dropping the learning rate for these?
comparison pics below between nerfacto-big and nerfacto-huge
Big:
Huge: