Open LarsKue opened 3 months ago
@LarsKue Thank you so much! This already looks amazing!
Could you perhaps add a simple fully runnable example here for people to get started playing around with it? It is kind of there above, but I think it would make things easier to have one chunk of example code to copy and edit from there.
Everyone, please try out the new interface and tell us what you think!
@paul-buerkner Yes, I am working on it. I hope I have one ready today.
Check out this pull request on
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB
Great work!! 👏
I'll write down some thoughts on the installation process. Those don't need any changes in the streamlined codebase but are just reminders for our future selves shortly before the release.
keras
(which will replace the current tensorflow dependencies), the user has to install their favorite backend. How do we approach this for users who aren't proficient in Python-ecosystem stuff? A few initial thoughts:
pip install bayesflow[torch]
. Advantage: Easy interface. Disadvantage: Restricted to pip, no mamba equivalent. I don't like that option.bayesflow
installation. That's annoying (if possible at all?) and I wouldn't do that either.>=3.11
is required for typing.Self
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:
Work In Progress
This PR is still in progress. Please discuss open issues and raise possible concerns below.
Summary
Prior
and other distributionsbatch_of_samples = prior.sample((32,)) assert batch_of_samples["theta"].shape == (32, 2)
Configurator
intoAmortizer
Amortizer
Dataset
object that takes care of data loading in multiple worker processesTrainer
intoDataset
class MyDataset(keras.utils.PyDataset): ... # user-implemented data loading from disk
dataset = MyDataset(workers=12, use_multiprocessing=True) amortizer.fit(dataset)
Postponed
We should probably do these things after merging with
dev
and before merging withmain
:README.md
with a workflowIn Discussion
WorkFlow
(name wip) object that encapsulates both amortizer and dataset for easier post-processing and model sharingDropped
Allow the user to pass a dictionary of distributions instead of defining a prior
Reason: We should enforce a single way to do things. Also poor support with pure jax.
Return sampled data as a DataFrame
Reason: Too restrictive for data structure.