🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

Parallel execution of operators

User: "Legacy User"
New Altair Community Member
Updated by Jocelyn
Ok thanks.

Is it possible to apply operator in "parallel" ? I would like to filter input data that have RESULT A and RESULT B.
INPUT -> OPERATOR A -> RESULT A
INPUT -> OPERATOR B -> RESULT B

Operator seems to be chained in series:
INPUT -> OPERATOR A -> OPERATOR B -> RESULT C.

Find more posts tagged with

Sort by:
1 - 3 of 31
    User: "TobiasMalbrecht"
    New Altair Community Member
    Hi,

    first of all: I hope you don't mind I put your questions in separate threads. That way, all users can easily recognize separate questions ...

    Regarding your problem, yes, in general operators in the operator tree are executed as a chain. However you can achieve a setting like the one you mentioned by using loops, e.g. by applying the [tt]ParameterIteration[/tt] operator.

    Here is an example process:

    <operator name="Root" class="Process" expanded="yes">
        <operator name="ExampleSetGenerator" class="ExampleSetGenerator">
            <parameter key="target_function" value="simple polynomial classification"/>
        </operator>
        <operator name="ParameterIteration" class="ParameterIteration" expanded="yes">
            <parameter key="keep_output" value="true"/>
            <list key="parameters">
              <parameter key="OperatorSelector.select_which" value="1,2"/>
            </list>
            <operator name="OperatorSelector" class="OperatorSelector" expanded="yes">
                <parameter key="select_which" value="2"/>
                <operator name="ExampleFilter" class="ExampleFilter">
                    <parameter key="condition_class" value="attribute_value_filter"/>
                    <parameter key="parameter_string" value="att1&gt;0"/>
                </operator>
                <operator name="ExampleFilter (2)" class="ExampleFilter">
                    <parameter key="condition_class" value="attribute_value_filter"/>
                    <parameter key="parameter_string" value="att1&lt;0"/>
                </operator>
            </operator>
        </operator>
    </operator>
    Hope that helps,
    regards,
    Tobias
    User: "Legacy User"
    New Altair Community Member
    OP
    Thanks, I've installed the lasted code from CVS and it works.
    However, I don't understand why you're using the following in OperatorSelector
    <parameter key="select_which" value="2"/>

    If I use:
    <parameter key="select_which" value="1"/>

    Then it works too. What's the meaning of this select_which ?
    User: "TobiasMalbrecht"
    New Altair Community Member
    Hi,

    The thing is, that it does not matter what value is set in the OperatorSelector for the parameter [tt]select_which[/tt]. This is, because the process contains the operator [tt]ParameterIteration[/tt]. This operator iterates over parameters which you can specify. To select the first operator in the first iteration and the second operator in the second operator, you have to specify this in the [tt]ParameterIteration[/tt] operator parameters. Hence, the process XML contains the lines

            <list key="parameters">
              <parameter key="OperatorSelector.select_which" value="1,2"/>
            </list>
    which actually means exactly that the operator in the first iteration the value 1 is set for the parameter [tt]select_which[/tt], in the second iteration the value 2 is used for that parameter. The value you manually specify for the parameter [tt]select_which[/tt] in the operator [tt]OperatorSelector[/tt] is simply overwritten in that process.

    Hope that clarifies how it works!
    Regards,
    Tobias