Comments (2)
Hi!
Basically something like (1) is the canonical way we do it! We use a with nn.stochastic(prng_key):
context around the model evaluation inside the training-step function, with a top-level prng-key fed into the training-step function from an outside split in the training loop. The important thing is that the training-step function is jitted in its entirety - the one thing not to do is to jit across a nn.stochastic
context. Provided it's used inside a jit and the prng-keys are fed like any other function argument, there should be no trouble using it. Using the stochastic context can save a lot of prng-key plumbing boilerplate in models.
I've typed up a quick demo of the canonical way in a colab at https://colab.research.google.com/drive/1eDXEVd8NPXgaSwn7jEMxsZTDVHNUtHYK
Let me know if that helps or if anything remains unclear!
from flax.
Thank you for the amazing answer, I will get working on my project right away! Everything is clear, you even mentioned the part about passing the PRNG key itself while initializing a Module following 3, which something I had problems with.
I'm closing the issue, thanks for the help!
from flax.
Related Issues (20)
- Bug in guide "Scale up Flax Modules on multiple devices" flax.errors.InvalidRngError: RNGs should be of shape (2,) HOT 3
- NNX Conv documentation states that kernel size can be an integer for 1D convs. HOT 1
- Bug in Tutorial: Jax 101 Working with PyTrees "AttributeError: module 'jax.tree_util' has no attribute 'register_static'" HOT 5
- flax is significantly slower than pytorch HOT 1
- NNX attention layer missing `qkv_features` arg HOT 2
- Metadata in `nnx.param_field` is not passed to the Param class
- Swapping selected layers with a different layer. HOT 1
- Quick start badges point to 404 HOT 1
- A guide on distributed training
- Proposal: StackedRNNCell HOT 3
- Is it an API like model.summary in Pytorch? HOT 1
- Documentation issue: batch_stats in batchnorm need to be marked as mutable even in test/inference HOT 1
- How to implement the same functionality as hk.BatchApply in flax HOT 6
- [Feature request]Unify the order of input arguments and returns โโof RNN HOT 2
- Precision error using checkpoint with CUDA
- [struct.dataclass] Consider adding optional `kw_only` arguments HOT 4
- Instance Normalization HOT 1
- Cannot assign arrays to dataclass fields in `nnx` HOT 2
- Flax not found for ppc64 power9 HOT 3
- Cannot use static_argnums with flax.linen.checkpoint on a Module whose __call__ has a boolean control flag HOT 1
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 flax.