You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When creating a multi-agent system, it can be useful to pass objects (observations, states, B matrices, etc.) between different environments (if each agent has an environment). However, probably because of jit, one cannot effectively alter the B matrix of an environment using something like:
env.params[“B”][2] = new_B_matrix
Doing so might not change env.params[“B”] as it is used in computations. A possible solution is to pass in an altered env.params[“B”] to env.step(). In that case, the passed version would be used in computations instead of self.params[“B”].
The text was updated successfully, but these errors were encountered:
I expand this issue here to also include the ability to pass A and B matrices into agent functions. This would allow for manual updates to those matrices within a simulation step. In essence, calls to self.A and self.B internal to pymdp would need to be replaced with the A and B parameters that are passed into functions.
When creating a multi-agent system, it can be useful to pass objects (observations, states, B matrices, etc.) between different environments (if each agent has an environment). However, probably because of jit, one cannot effectively alter the B matrix of an environment using something like:
env.params[“B”][2] = new_B_matrix
Doing so might not change
env.params[“B”]
as it is used in computations. A possible solution is to pass in an alteredenv.params[“B”]
toenv.step()
. In that case, the passed version would be used in computations instead ofself.params[“B”]
.The text was updated successfully, but these errors were encountered: