Skip to content

Different sets of parameters in the ModelComparisonSimulator #441

@vpratz

Description

@vpratz

This bug was reported in this Discourse thread, thanks to dizyd for reporting. The ModelComparisonSimulator throws an error when different prior parameters are specified for the different simulators. The minimal reproducible example is:

import bayesflow as bf import numpy as np rng = np.random.default_rng() def prior_1(): return dict(w=rng.uniform()) def prior_2(): return dict(c=rng.uniform()) def model_1(w): return dict(x = w) def model_2(c): return dict(x = c) simulator_1 = bf.make_simulator([prior_1,model_1]) simulator_2 = bf.make_simulator([prior_2,model_2]) simulator = bf.simulators.ModelComparisonSimulator(simulators=[simulator_1, simulator_2]) simulator.sample(10)

The line that throws the error is sims = tree_concatenate(sims, numpy=True).

I'm not familiar with that code, maybe @Kucharssim, @stefanradev93 or @LarsKue can take a look at it.

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions