Comments (2)
Hi it is just for scale up the loss, not for mixed precision.
The reason we do this is kinda tricky -- we find out the gradient of the network parameters when using tiny-cuda-nn can sometimes be super small -- like magnitude of 1e-17. And when using Adam as optimizer, it will compute grad ** 2
which will be flushed out due to the float precision limit.
Simply scale up the loss will scale up the gradient and avoid this issue. Also since the Adam is not sensitive to the scale of the gradient, the scaling up won't affect the optimization at all so don't need to scale it back.
from nerfacc.
Thanks for the explanation!
from nerfacc.
Related Issues (20)
- Installing from git fails HOT 1
- Filtering strategy (instead of iterating ray samples) for traverse_grids? HOT 1
- Support for metal backend?
- Coordinate system used in nerfacc HOT 4
- About Compilation HOT 4
- about fixed length render_step_size
- floating things wheen training nerf-synthetic datasets
- ModuleNotFoundError: No module named 'torch' HOT 1
- Inconsistent Results Despite Setting Random Seed HOT 1
- K-planes DyNeRF dataset nerfacc configuration HOT 1
- render_transmittance_from_density crash since nerfacc.cuda.is_cub_available() is False HOT 1
- Thank for your contribution! HOT 13
- Sum instead of Product in scan_cub.cu HOT 2
- Python library
- estimator.binaries.sum() update very slow
- PropNetEstimator causes PyTorch "UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`"
- How to specify the number of sampling points on each ray?
- Error in OccGridEstimator sampling with t_max
- .data_ptr<long>() in scan_cub.cu need to be replaced with .data_ptr<int64_t>() for correct operation on Windows
- ray_indices, t_ends, t_starts are null(empty)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nerfacc.