-
Notifications
You must be signed in to change notification settings - Fork 32
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
Devel #2852
Conversation
• inputport.py _parse_port_specific_specs(): fix bug in which COMBINE was not parsed when specified in an InputPort specification dict (though still some weirdness in passing spec through to constructor, requiring function assignment in place) • port.py _parse_port_spec(): add passing of Context.string for local handling based on caller (e.g., warning messages)
• EMstoragemechanism.py - refactor memory_matrix to use learning_signals • emcomposition.py - refactor to use memory_matrix of storage_node if that is implemented Co-authored-by: jdcpni <pniintel55>
… of relying on tolerance Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…by 40x It's still enough to recover the parameters and reduces test time significantly. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reduce the number of estimates by a factor of 40, it's enough to pass the test and it significantly reduces test running time. Provide expected results for different optimization methods
* origin/devel: tests/ParameterEstimationComposition: Reduce the number of estimates by 40x tests/ParameterEstimationComposition: Provide expected result instead of relying on tolerance requirements: update dill requirement from <0.3.7 to <0.3.8 (#2743) Feat/em composition refactor learning mech (#2754) Fix/input port combine (#2755) requirements: update beartype requirement from <0.15.0 to <0.16.0 (#2744)
Merge master->devel
Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit version 1.24.4 - [Release notes](https://github.com/numpy/numpy/releases) - [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst) - [Commits](numpy/numpy@v1.24.3...v1.24.4) --- updated-dependencies: - dependency-name: numpy dependency-type: direct:production ...
…rt" in warning message Allocation samples are applied to output ports. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…dices Remove duplicate index query. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…igning control allocation Matches Python semantics. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
… saved values This allows to call the benchmark fixtures unconditionally. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…ferWithCosts when computing net_outcome Drop allocation vector structure from net_outcome argument list. Enable tests of different cost combinations. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
The tests were almost identical but for the setting of the controller. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…ithCosts (#2761) Execute OCM ports when setting an allocation. Reuse calculated costs from TransferWithCosts. Drop "allocation" parameter to net_outcome. Consolidate model_based_ocm tests.
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Do not reuse variable names for different types. Use 'Callable' instead of 'callable' to annotate a callable argument type.
* [skip ci] • combinationfunctions.py LinearCombination.derivative: return Jacobian for first item in variable[0] relative to others • composition.py _create_non_terminal_backprop_learning_components(): modify to handle multiple args in output_source for learning_function and learning_mechanism * [skip ci] • combinationfunctions.py LinearCombination.derivative: return Jacobian for first item in variable[0] relative to others • composition.py _create_non_terminal_backprop_learning_components(): modify to handle multiple args in output_source for learning_function and learning_mechanism * [skip ci] * [skip ci] • composition.py - _check_for_existing_projections(): augment to search over all input_ports and output_ports; NOTE: if a mechanism is specified as sender and/or receiver, then any existing Projection between the two (i.e., between any pair of input_port/output_ports) will be returned as existing; to support multiple projections (between different pairs of Ports), must specify Ports explicitly * [skip ci] * -
The builder context helpers reset random state if the seed has changed. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
…rs in compiled parametrrs The only provide user interaction, similar to Shared and Function parameters. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
"random_draw", DriftDiffusionIntegrator; only used as a helper for mdf tests. "key_size", "val_size", "max_entries", DictionaryMemory; structural parameters "per_item", TransferFunction; structural parameter "randomization_dimension", GridSearch; user only parameter, not used in compiled code "save_values", "save_samples", GridSearch; structural parameters not used in compiled code "max_iterations", GridSearch; not used by compilation, the number of iterations is known in advance Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
… for cost and intensity parameters These are output parameters that receive new values and can have history enabled. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Use the get_random_state_ptr helper in the GridSearch function instead of accessing the random state directly. The helper handles reseeding the random state if the seed has changed. Remove unneeded parameters from compiled structures; read-only parameters with custom getters are user-only and not used in compilation.
* [skip ci] • combinationfunctions.py LinearCombination.derivative: return Jacobian for first item in variable[0] relative to others • learningmechanism.py - add support for COVARIATES - make error_sources and covariates_sources Parameters • composition.py _create_non_terminal_backprop_learning_components(): modify to handle multiple args in output_source for learning_function and learning_mechanism _create_non_terminal_backprop_learning_components(): refactored to use covariates - _check_for_existing_projections(): augment to search over all input_ports and output_ports; NOTE: if a mechanism is specified as sender and/or receiver, then any existing Projection between the two (i.e., between any pair of input_port/output_ports) will be returned as existing; to support multiple projections (between different pairs of Ports), must specify Ports explicitly • component.py add error_sources and covariates_sources to blacklis for compilation (since they are lists of PNL objects) rather than --------- Co-authored-by: jdcpni <pniintel55>
• combinationfunctions.py - LinearCombination: fix bug in jacobian • integratorfunctions.py - DriftOnASphereIntegrator: fix bug in formatting of variable
Add DOT_PRODUCT testing. Drop references to PEARSON and ANGLE, the implementations are no longer available. Drop 'fail' parameter, it is no longer needed. Convert test data to a list of pytest.param-s including ids. Use reduced precision only for the COSINE metric or fp32 mode. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Include all constructor attributes, not just conditions: - default_execution_id - mode - default_absolute_time_unit For example, setting of Scheduler.mode using argument scheduling_mode to Composition.run would not persist across Scheduler rebuilds.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
* requirements: update beartype requirement from <0.15.0 to <0.16.0 (#2744) * Fix/input port combine (#2755) • inputport.py _parse_port_specific_specs(): fix bug in which COMBINE was not parsed when specified in an InputPort specification dict (though still some weirdness in passing spec through to constructor, requiring function assignment in place) • port.py _parse_port_spec(): add passing of Context.string for local handling based on caller (e.g., warning messages) * Feat/em composition refactor learning mech (#2754) • EMstoragemechanism.py - refactor memory_matrix to use learning_signals • emcomposition.py - refactor to use memory_matrix of storage_node if that is implemented Co-authored-by: jdcpni <pniintel55> * requirements: update dill requirement from <0.3.7 to <0.3.8 (#2743) * tests/ParameterEstimationComposition: Provide expected result instead of relying on tolerance Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> * tests/ParameterEstimationComposition: Reduce the number of estimates by 40x It's still enough to recover the parameters and reduces test time significantly. Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> --------- Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: jdcpni <jdc@princeton.edu> Co-authored-by: Jan Vesely <jan.vesely@rutgers.edu>
Resolve all differences in favor of devel. master changes are stale because they mirror old commits on devel. * master: tests/ParameterEstimationComposition: Reduce the number of estimates by 40x tests/ParameterEstimationComposition: Provide expected result instead of relying on tolerance requirements: update dill requirement from <0.3.7 to <0.3.8 (#2743) Feat/em composition refactor learning mech (#2754) Fix/input port combine (#2755) requirements: update beartype requirement from <0.15.0 to <0.16.0 (#2744)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good by me
Merge master into devel
This PR causes the following changes to the html docs (ubuntu-latest-3.11-x64):
See CI logs for the full diff. |
- dependency dict must store names, not classes - must exclude own class name from dependencies (but not "alias" class names like And->All or Or->Any
supports graph structure conditions automatically
function that produces a python sorting key given a dependency dictionary
- modify Scheduler wrappers to support both basic and structural Conditions - add wrappers for new graph_scheduler.Scheduler methods: - remove_condition - add_graph_edge - remove_graph_edge - update requirements to graph-scheduler<1.3.0 to include graph structure conditions release
Support graph-scheduler graph structure conditions
This PR causes the following changes to the html docs (ubuntu-latest-3.11-x64):
See CI logs for the full diff. |
This PR causes the following changes to the html docs (ubuntu-latest-3.11-x64):
See CI logs for the full diff. |
No description provided.