Comments (5)
Hi @nadavrot,
In essence, yes that's what I am suggesting with one difference.
Instead of creating a BN-train node that would replace the BN-inference during differentiation, I was thinking of replacing BN with two nodes BN + meanVarNorm during differentiation.
The effects are the same, the difference is that we wouldn't have to change the optimizations.
I.e.,
Input:
BN-inference
Differentation:
-
Today
BN-inference
BN-gradient -
Your proposal
BN-train
BN-gradient -
My suggestion
meanVarNorm
BN-inference
BN-gradient
Essentially, BN-train is equal to (BN-inference(meanVarNorm)).
from glow.
@qcolombet Ah, got it. We can split BN-train into two sequential parts. I think that this proposal makes sense.
from glow.
Hi @jfix71 - interested in doing this?
If not, assign it back to me.
from glow.
Thanks for raising this issue @qcolombet. Let's talk about BatchNormalization. BN is implemented with conceptual 3 nodes: BN-inference, BN-train and BN-gradient. If I understand your suggestion, when we construct the inference graph (when loading C2 models, or when constructing our unit tests) we'll emit the BN-inference node. Later, during differentiation we'll insert the BN-gradient node, just like we do today, but also convert BN-inference into BN-train. Also, we would change the BN optimization to work on BN-inference and not on BN-train. Is this what you are suggesting? Generally, I like this direction. I think that it makes sense.
from glow.
@qcolombet I'll take a look today!
from glow.
Related Issues (20)
- [Bug] error on compiling an ONNX model
- Request release - This pull request was **exported** from Phabricator. Differential Revision: [D39456245](https://www.internalfb.com/diff/D39456245) HOT 1
- model-compiler missing HOT 1
- BatchedReduceAdd and BatchedReduceProd multi-axis support
- Where Glow invokes llvm ? HOT 2
- build_Debug error HOT 1
- Multiple tensorflow-lite models in one application
- Glow cmsis support on aarch64
- Typed pointers support will be dropped in LLVM 17 HOT 1
- Compile error when building glow HOT 6
- Error occurred during the compilation of Glow
- FAILED: bin/image-classifier during building glow
- Unable to access glow model HOT 3
- Adding a library for a new backend, CMSIS. HOT 1
- Adding Support for ELU Activation functions
- Evaluate Profile-Guided Optimization (PGO)
- How to build glow for Buildroot based Linux?
- Sunsetting Glow Active Development HOT 1
- Error building on Mac Ventura
- Cannot open connection when downloading pb file
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 glow.