-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Description
Bug Description
For complex cases, where the simulator returns a bunch of ndim=2 parameters, e.g., (batch_size, D) as well as ndim=1 parameter, e.g., (batch_size, ), the ndim=1 parameters need to be expanded in order to be properly concatenated. This works fine until diagnostics needs to be computed for all parameters, where we now have a bunch of (batch_size, num_samples, D) and (batch_size, num_samples) samples. Since our diagnostics expect at least ndim=3 for estimates and at least ndim=2 for targets, the functions fail with
Expected behavior
The diagnostic functions should be able to deal with mixed ndims and add a trailing dim when missing.
Traceback
234 raise TypeError(f"Only dicts and tensors are supported as arguments, but your estimates are of type {type(x)}")
236 if len(variable_names) != x.shape[-1]:
--> 237 raise ValueError("Length of 'variable_names' should be the same as the number of variables.")
239 if variable_keys is None:
240 # every variable will count as its own key if not otherwise specified
241 variable_keys = variable_names
ValueError: Length of 'variable_names' should be the same as the number of variables.
Environment
- BayesFlow Version: [e.g. 2.0.3]
Metadata
Metadata
Assignees
Labels
No labels