Comments (4)
I implemented a custom batch norm layer recently, which was made available in v0.3.2.
Implementation can be seen here.
The plan is to add accumulation to the call
step similar as done in the Model wrapper.
The performance on the custom layer reaches very similar results to keras' BN layer, but we should get identical before we can say that it is working as intended.
from gradientaccumulator.
To add accumulation support to the custom BN layer, relevant resources are this, this, and this.
from gradientaccumulator.
I have added gradient accumulation support to the custom BN layer now in 05fb499.
However, unit tests show that the results are not equivalent when increasing accum_steps
. Hence, it is not yet working as intended.
from gradientaccumulator.
Support for gradient accumulation to batch normalization has been added. Even though it is not perfect, at least people could test it and improve it further.
I also updated the documentations regarding how to use it in f54e389.
We can open a separate issue to benchmark it properly. Might also be that opening a discussion in the Discussions tab is the way to go. Hence, closing this issue.
from gradientaccumulator.
Related Issues (20)
- TensorFlow-datasets in CIs fails HOT 1
- Protobuf issues in TensorFlow 2.12 HOT 3
- resource_apply_sparse method in Optimizer wrapper is broken HOT 1
- Codecov fail to capture overrided Optimizer methods running in background HOT 2
- Add mixed precision unit tests HOT 1
- Optimizer unit tests fails for tf 2.11 in codecov CI HOT 1
- pytest-cov with multiprocessing results in occational deadlock HOT 2
- Add documentations on accumulated batch normalization HOT 1
- `gamma` and `beta` in AccumBatchNormalization never updated HOT 2
- Is mixed precision properly handled for all use cases? HOT 2
- Reduce number of unit tests HOT 2
- Unit tests fail on tf >= 2.10 HOT 1
- AccumBN is not compatible with 3D ops e.g. Conv3D HOT 1
- Mixed precision not working as intended with AccumBatchNormalization HOT 8
- Add linting to improve code style HOT 1
- Unit test for optimizer invariance in distributed trainings HOT 2
- Optimizer wrapper not working as intended HOT 2
- Optimizer wrapper not compatible with tf==2.6 HOT 2
- AttributeError using Optimizer wrapper with tf==2.4 HOT 1
- Optimizer wrapper performance is dependent on tensorflow version HOT 3
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 gradientaccumulator.