Comments (7)
It seems that we don't need to revise the api. It is likely an unexpected behaviour of lax.while_loop
. More context about it can be found in google/jax#587.
from numpyro.
@neerajprad After working with the benchmark on covtype dataset, I think that we don't need to work around these issues of prims if we use nonprim version of lax.scan. Here are some benefits:
- Allows us force fast-compiling by feeding a test_state which makes hmc_next/nuts_next run fast
- Allows us separate compiling time and sampling time
- Allows us print/tqdm the sampling the progress
Here is a trade-off:
- We lost the benefit of using
lax.scan/lax.fori_loop
for the outer loop. But I expect that this is small.
Because we don't want the above trade-off create regressions on small model, let's address this issue again when more examples/benchmarks are added.
from numpyro.
@fehiepsi - can we close this issue now?
from numpyro.
1 at init, 1 at sample, so it would be better if we only compile 1 time.
I think the compiled function is cached, so we shouldn't have to pay the cost the second time around, but lets verify this.
from numpyro.
@fehiepsi - I think we can update this issue now to reflect the next steps on this task?
from numpyro.
That's great! Should we close this issue then, or are there any things to follow up on?
from numpyro.
I think that it is better to let this open. In case it is not an issue of while_loop
, I would prefer to add a small utility to do scan including warmup phase and avoid this issue.
from numpyro.
Related Issues (20)
- mean_accept_prob significantly different after warmup HOT 8
- HSGP utility functions in the `contrib` module? HOT 2
- Add Pareto Smoothed Importance Sampling (PSIS) diagnostic method HOT 3
- contrib.hsgp: support vector-valued kernel hyperparameters HOT 3
- [FR] Truncated Power Law distribution
- An auto guide's `_unpack_latent` and `_unpack_latent._inverse` don't use produce the same order HOT 1
- [FR] Utility for joint distributions HOT 14
- How can I gibbs before HMC/NUTS? HOT 8
- Large potential energy while using `HMCGibbs` at the initial stage HOT 3
- Inference Test Failing HOT 2
- Figure in AR2 example is not reproducible
- Got Problems When Computing Log Likelihoods in a Scan-Based VAR Model HOT 2
- Inference for `gaussian_hmm` is broken on latest jax version (0.4.30) HOT 1
- autocorrelation function HOT 5
- saving render_model() output to the desired file path HOT 5
- Object oriented wrapper API HOT 5
- Stress test utility for numpyro? HOT 2
- Samples are outside the support for DiscreteUniform distribution HOT 3
- Crash when using `TruncatedNormal` in `parallel` MCMC, but not in `sequential` MCMC HOT 5
- `nuts.get_extra_fields()["num_steps"]=0` after warmup HOT 4
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 numpyro.