Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Toolbox: run-queues for multiple internal variable sets #104

Open
guiguem opened this issue Aug 3, 2018 · 0 comments
Open

Toolbox: run-queues for multiple internal variable sets #104

guiguem opened this issue Aug 3, 2018 · 0 comments

Comments

@guiguem
Copy link
Contributor

guiguem commented Aug 3, 2018

User issue description:
As currently implemented, the following config file will run Pystan, posterioriDistrib and timeSeries

processors-toolbox:
    processors:
        - type: morpho:PyStanSamplingProcessor
          name: analyzer
        - type: APosterioriDistribution
          name: posterioriDistrib
        - type: TimeSeries
          name: timeSeries
    connections:
        - signal: "analyzer:results"
          slot: "posterioriDistrib:data"
        - signal: "analyzer:results"
          slot: "timeSeries:data"

If one wants to add another simulation to be plots like:

processors-toolbox:
    processors:
        - type: morpho:PyStanSamplingProcessor
          name: analyzer1
        - type: morpho:PyStanSamplingProcessor
          name: analyzer2
        - type: APosterioriDistribution
          name: posterioriDistrib
        - type: TimeSeries
          name: timeSeries
    connections:
        - signal: "analyzer1:results"
          slot: "posterioriDistrib:data"
        - signal: "analyzer2:results"
          slot: "posterioriDistrib:data"
        - signal: "analyzer1:results"
          slot: "timeSeries:data"
        - signal: "analyzer2:results"
          slot: "timeSeries:data"

this would create two sets of plots instead of combining the data.

Issues origin:
The issue is that the toolbox add the processors in the queue as their are mentioned in the connections.
The chain would be analyzer1 -> posterioriDistrib -> analyzer2 -> posterioriDistrib etc, instead of analyzer1 -> analyzer2 -> posterioriDistrib etc.

Solutions:

  • implement our own idea: we could have a field in the connection dictionary which means don't get run now
  • Katydid does not have this issue and they are using queues. However Katydid does not have the need for such features (the combination of data inside one processor) as far as I know. Maybe this implementation can solve this though: need more thinking...
  • another more clever idea!!!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant