From bde853bd148bb7b90354d3c9adfce31e13a40ddf Mon Sep 17 00:00:00 2001 From: Pythonix Huang <370048201@qq.com> Date: Sat, 1 Apr 2023 04:39:49 +0800 Subject: [PATCH] Update scheduler for nerfacto (#1662) * Update scheduler for nerfacto Add scheduler (lr decay) in nerfacto is also effective for preventing long-time training nan and good for convergence * refactor refactor * refactor refactor refactor * refactor refactor * Update method_configs.py * Revert "Update method_configs.py" This reverts commit feaff61819d44fdc8d1aee957ac3b80bf1b948a9. * Revert "refactor" This reverts commit cf7c3153a2070c70f5786405e3e3c79c87438e85. * Revert "Merge branch 'update-scheduler' of https://github.com/HrsPythonix/nerfstudio into update-scheduler" This reverts commit b31575385ca0c79c77a6a16c8ca78e0ec02abac4, reversing changes made to 6b78039059d7115eeb471f0f98ba28beb7f263bf. * Revert "refactor" This reverts commit 6b78039059d7115eeb471f0f98ba28beb7f263bf. * Update method_configs.py --- nerfstudio/configs/method_configs.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nerfstudio/configs/method_configs.py b/nerfstudio/configs/method_configs.py index 1e5a24ec0..0bc56f6da 100644 --- a/nerfstudio/configs/method_configs.py +++ b/nerfstudio/configs/method_configs.py @@ -92,7 +92,9 @@ method_configs["nerfacto"] = TrainerConfig( train_num_rays_per_batch=4096, eval_num_rays_per_batch=4096, camera_optimizer=CameraOptimizerConfig( - mode="SO3xR3", optimizer=AdamOptimizerConfig(lr=6e-4, eps=1e-8, weight_decay=1e-2) + mode="SO3xR3", + optimizer=AdamOptimizerConfig(lr=6e-4, eps=1e-8, weight_decay=1e-2), + scheduler=ExponentialDecaySchedulerConfig(lr_final=6e-6, max_steps=200000), ), ), model=NerfactoModelConfig(eval_num_rays_per_chunk=1 << 15), @@ -100,11 +102,11 @@ method_configs["nerfacto"] = TrainerConfig( optimizers={ "proposal_networks": { "optimizer": AdamOptimizerConfig(lr=1e-2, eps=1e-15), - "scheduler": None, + "scheduler": ExponentialDecaySchedulerConfig(lr_final=0.0001, max_steps=200000), }, "fields": { "optimizer": AdamOptimizerConfig(lr=1e-2, eps=1e-15), - "scheduler": None, + "scheduler": ExponentialDecaySchedulerConfig(lr_final=0.0001, max_steps=200000), }, }, viewer=ViewerConfig(num_rays_per_chunk=1 << 15),