-
Hello, is there any documentation on how to effectively use
I have 1000 simulations and I set Looking through the code, I think the bottleneck might be I run into the same issue with I use I'd really appreciate some help. I am starting to unpack Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Hi @humnaawan thanks for reporting this! Some context that might help already:
To summarize:
Note that Does this help? |
Beta Was this translation helpful? Give feedback.
-
hi @janfb, thanks so much! I am indeed working with a direct posterior (sorry for not including the detail in my first post) via:
thank you for reminding me about It is helpful to know that |
Beta Was this translation helpful? Give feedback.
-
I see, thanks for the details. So you effectively evaluation the underlying density estimator with a batch-size of 1000 thetas (posterior samples) and 1000 xs (sbc samples), which could be the bottleneck here. What I would try:
|
Beta Was this translation helpful? Give feedback.
-
Thank you! I am currently not using an embedding network as I wanted to see how things work out of the box; it's certainly on my todo list. I will try your two suggestions and hopefully the function call finishes. I appreciate your quick feedback! |
Beta Was this translation helpful? Give feedback.
-
I would recommend using at least a small embedding net, e.g., the standard MLP we have implemented here: and explained here: Otherwise it could be challenging for the flow-based density estimator to cope with the 500-D conditioning dimension. I am moving this issue to discussions and close it here. Feel free to give updates of your case there. |
Beta Was this translation helpful? Give feedback.
Hi @humnaawan
thanks for reporting this! Some context that might help already:
NPE
because it's just a forward pass in the flow and it can just pass the entire batch ofxs
.x
inxs
separately. For theslice_np_vectorize
MCMC method we implemented batched sampling, but it's still slower because it has to run MCMC and evaluate the flow for each element in the chain.sample
method with a big batch of xs, so we cannot parallelize it. Thus,num_workers
only has an effect ifbatch_sampling=False
.