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

Feat/em composition #2735

Merged
merged 131 commits into from
Jul 19, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
8f86eef
• utilities.py
jdcpni Jul 2, 2023
aa676ac
• emcomposition.py:
jdcpni Jul 2, 2023
f990ea4
• controlmechanism.py, gatingmechanism.py:
jdcpni Jul 3, 2023
4a31c64
• controlmechanism.py, gatingmechanism.py:
jdcpni Jul 3, 2023
541e077
• controlmechanism.py, gatingmechanism.py:
jdcpni Jul 4, 2023
b9240ff
• emcomposition.py
jdcpni Jul 4, 2023
300333f
• emcomposition.py
jdcpni Jul 4, 2023
b740d78
• emcomposition.py
jdcpni Jul 4, 2023
f77ac24
• emcomposition.py
jdcpni Jul 5, 2023
b3be3f5
• emcomposition.py
jdcpni Jul 5, 2023
5d7ce7b
• emcomposition.py
jdcpni Jul 5, 2023
bed1c5d
• emcomposition.py
jdcpni Jul 5, 2023
b43f8c0
-
jdcpni Jul 5, 2023
4e44f27
• emcomposition.py
jdcpni Jul 6, 2023
ebf918a
[skip ci]
jdcpni Jul 6, 2023
edae01f
[skip ci]
jdcpni Jul 7, 2023
8d5f173
[skip ci]
jdcpni Jul 7, 2023
81514ba
[skip ci]
jdcpni Jul 7, 2023
048c970
[skip ci]
jdcpni Jul 7, 2023
e3d5089
[skip ci]
jdcpni Jul 7, 2023
7f6fd76
[skip ci]
jdcpni Jul 7, 2023
ecb545a
[skip ci]
jdcpni Jul 7, 2023
88d1985
[skip ci]
jdcpni Jul 7, 2023
1db474a
[skip ci]
jdcpni Jul 7, 2023
fdfe35c
[skip ci]
jdcpni Jul 7, 2023
20f1596
[skip ci]
jdcpni Jul 7, 2023
01e0222
[skip ci]
jdcpni Jul 7, 2023
d78338f
[skip ci]
jdcpni Jul 7, 2023
07bfbec
[skip ci]
jdcpni Jul 7, 2023
b1c592a
[skip ci]
jdcpni Jul 8, 2023
3c7ccec
[skip ci]
jdcpni Jul 8, 2023
0a09e01
[skip ci]
jdcpni Jul 8, 2023
e660f5a
[skip ci]
jdcpni Jul 9, 2023
6a8d68a
-
jdcpni Jul 9, 2023
181b3a9
-
jdcpni Jul 9, 2023
4174e1a
-
jdcpni Jul 10, 2023
ad48e7c
[skip ci]
jdcpni Jul 10, 2023
c8b1acc
-
jdcpni Jul 10, 2023
2392692
• port.py
jdcpni Jul 11, 2023
b166dfd
[skip ci]
jdcpni Jul 11, 2023
b64294b
[skip ci]
jdcpni Jul 11, 2023
ee0ae25
[skip ci]
jdcpni Jul 11, 2023
7830bad
[skip ci]
jdcpni Jul 11, 2023
dbd82a5
[skip ci]
jdcpni Jul 11, 2023
9aa6bb2
[skip ci]
jdcpni Jul 12, 2023
4fd89de
[skip ci]
jdcpni Jul 12, 2023
d35bcc3
[skip ci]
jdcpni Jul 12, 2023
237d701
[skip ci]
jdcpni Jul 12, 2023
d50e985
[skip ci]
jdcpni Jul 12, 2023
ba1e743
[skip ci]
jdcpni Jul 12, 2023
20e693c
[skip ci]
jdcpni Jul 12, 2023
c15f3b2
[skip ci]
jdcpni Jul 12, 2023
af6de70
[skip ci]
jdcpni Jul 12, 2023
5b8aa8a
[skip ci]
jdcpni Jul 12, 2023
c12bbd5
[skip ci]
jdcpni Jul 13, 2023
08d93f1
[skip ci]
jdcpni Jul 13, 2023
2621c47
[skip ci]
jdcpni Jul 13, 2023
c8a9fe0
[skip ci]
jdcpni Jul 13, 2023
98b7947
[skip ci]
jdcpni Jul 13, 2023
224617e
[skip ci]
jdcpni Jul 13, 2023
9571a9f
[skip ci]
jdcpni Jul 13, 2023
cd571d1
[skip ci]
jdcpni Jul 13, 2023
8e7398b
[skip ci]
jdcpni Jul 13, 2023
23e2d31
[skip ci]
jdcpni Jul 13, 2023
6e5f68d
[skip ci]
jdcpni Jul 13, 2023
e59c5e3
[skip ci]
jdcpni Jul 13, 2023
0c8c49e
[skip ci]
jdcpni Jul 14, 2023
db981ea
[skip ci]
jdcpni Jul 14, 2023
d5d67a0
[skip ci]
jdcpni Jul 14, 2023
d48e8e2
[skip ci]
jdcpni Jul 14, 2023
fdafee8
[skip ci]
jdcpni Jul 14, 2023
007bf2d
[skip ci]
jdcpni Jul 14, 2023
209f6b8
[skip ci]
jdcpni Jul 14, 2023
fb00800
[skip ci]
jdcpni Jul 14, 2023
6bffd64
[skip ci]
jdcpni Jul 14, 2023
31e55c1
[skip ci]
jdcpni Jul 15, 2023
583057a
[skip ci]
jdcpni Jul 15, 2023
88bc450
[skip ci]
jdcpni Jul 15, 2023
dc8e0fb
[skip ci]
jdcpni Jul 15, 2023
1dd0547
[skip ci]
jdcpni Jul 15, 2023
fb7cb98
[skip ci]
jdcpni Jul 15, 2023
7b35bed
[skip ci]
jdcpni Jul 16, 2023
1e38a83
[skip ci]
jdcpni Jul 16, 2023
dfb0c05
[skip ci]
jdcpni Jul 16, 2023
d02dffa
[skip ci]
jdcpni Jul 16, 2023
183bc80
[skip ci]
jdcpni Jul 16, 2023
b9a4c5b
[skip ci]
jdcpni Jul 16, 2023
91d5a3e
[skip ci]
jdcpni Jul 17, 2023
53c98cd
[skip ci]
jdcpni Jul 17, 2023
c6a968e
[skip ci]
jdcpni Jul 17, 2023
726e01a
[skip ci]
jdcpni Jul 17, 2023
48ee7fd
[skip ci]
jdcpni Jul 17, 2023
97762a3
[skip ci]
jdcpni Jul 17, 2023
9e19361
[skip ci]
jdcpni Jul 17, 2023
af57025
[skip ci]
jdcpni Jul 17, 2023
e6b5868
[skip ci]
jdcpni Jul 17, 2023
5537b54
[skip ci]
jdcpni Jul 17, 2023
76141c7
[skip ci]
jdcpni Jul 17, 2023
d3c1652
[skip ci]
jdcpni Jul 17, 2023
1d0f3d7
[skip ci]
jdcpni Jul 17, 2023
69b5f6c
[skip ci]
jdcpni Jul 17, 2023
1bace5c
[skip ci]
jdcpni Jul 17, 2023
ae0fba8
[skip ci]
jdcpni Jul 18, 2023
b39a23a
[skip ci]
jdcpni Jul 18, 2023
c67d9f0
[skip ci]
jdcpni Jul 18, 2023
ff0141c
[skip ci]
jdcpni Jul 18, 2023
9273da4
[skip ci]
jdcpni Jul 18, 2023
e1bcf0c
• emcomposition.py:
jdcpni Jul 18, 2023
ab6109b
• install fastkde==1.0.24
jdcpni Jul 18, 2023
ac93b8f
-
jdcpni Jul 18, 2023
70cb968
[skip ci]
jdcpni Jul 18, 2023
729cec6
-
jdcpni Jul 18, 2023
90a14dd
• test_emcomposition.py:
jdcpni Jul 18, 2023
3d23b74
• test_emcomposition.py:
jdcpni Jul 18, 2023
1897f0c
-
jdcpni Jul 18, 2023
37a5d90
-
jdcpni Jul 18, 2023
9fd3ebc
[skip ci]
jdcpni Jul 18, 2023
cb5e0f0
-
jdcpni Jul 18, 2023
a38de42
-
jdcpni Jul 18, 2023
374eb87
[skip ci]
jdcpni Jul 19, 2023
4fc9dec
• emcomposition.py
jdcpni Jul 19, 2023
910dca5
• emcomposition.py
jdcpni Jul 19, 2023
9a59a3f
-
jdcpni Jul 19, 2023
8dd5775
-
jdcpni Jul 19, 2023
3bd1899
-
jdcpni Jul 19, 2023
1715718
• autodiffcomposition.py
jdcpni Jul 19, 2023
eaf80b0
• emcomposition.py
jdcpni Jul 19, 2023
067c850
• emcomposition.py
jdcpni Jul 19, 2023
64fd9a9
Merge branch 'feat/em_composition' into feat/em_composition_REFACTOR_…
jdcpni Jul 19, 2023
d5806e7
• emcomposition.py
jdcpni Jul 19, 2023
68d3ca1
• emcomposition.py
jdcpni Jul 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[skip ci]
  • Loading branch information
jdcpni committed Jul 17, 2023
commit e6b586808fc908fd37d38aaf697ec2d412eb8c42
5 changes: 2 additions & 3 deletions psyneulink/library/compositions/emcomposition.py
Original file line number Diff line number Diff line change
Expand Up @@ -1441,9 +1441,8 @@ def _construct_retrieval_gating_nodes(self)->list:
"""

# FIX: CONSIDER USING THIS FOR INPUT GATING OF MATCH NODE(S)?
if self.concatenate_keys:
retrieval_gating_nodes = []
else:
retrieval_gating_nodes = []
if not self.concatenate_keys:
retrieval_gating_nodes = [GatingMechanism(input_ports={PROJECTIONS: key_match_pair[0].output_ports['RESULT'],
NAME: 'OUTCOME'},
gate=[key_match_pair[1].output_ports[1]],
Expand Down
15 changes: 10 additions & 5 deletions tests/composition/test_emcomposition.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,14 +114,16 @@ def test_report_prefs(self):
(11, [[0,0],[0,0,0],[0,0]], .1, [1,2,0], None, None, False, 3, 2, 1, False, False),
(12, [[[0,1],[0,0,0],[0,0]], # two entries specified, fields have same weights
[[0,2],[0,0,0],[0,0]]], .1, [1,1,0], None, None, 2, 3, 2, 1, True, False),
(13, [[[0,1],[0,0,0],[0,0]], # two entries specified, all fields are keys
(13, [[[0,1],[0,0,0],[0,0]], # two entries specified, fields have same weights, but conccatenate_keys is False
[[0,2],[0,0,0],[0,0]]], .1, [1,1,0], False, None, 2, 3, 2, 1, False, False),
(14, [[[0,1],[0,0,0],[0,0]], # two entries specified, all fields are keys
[[0,2],[0,0,0],[0,0]]], .1, [1,1,1], None, None, 2, 3, 3, 0, True, False),
(14, [[[0,1],[0,0,0],[0,0]], # two entries specified; fields have different weights
(15, [[[0,1],[0,0,0],[0,0]], # two entries specified; fields have different weights
[[0,2],[0,0,0],[0,0]]], .1, [1,2,0], None, None, 2, 3, 2, 1, False, False),
(15, [[[0,1],[0,0,0],[0,0]], # three enrtries specified
(16, [[[0,1],[0,0,0],[0,0]], # three enrtries specified
[[0,2],[0,0,0],[0,0]],
[[0,3],[0,0,0],[0,0]]], .1, [1,2,0], None, None, 3, 3, 2, 1, False, False),
(16, [[[0,1],[0,0,0],[0,0]], # all four enrtries allowed by memory_capacity specified
(17, [[[0,1],[0,0,0],[0,0]], # all four enrtries allowed by memory_capacity specified
[[0,2],[0,0,0],[0,0]],
[[0,3],[0,0,0],[0,0]],
[[0,4],[0,0,0],[0,0]]], .1, [1,2,0], None, None, 4, 3, 2, 1, False, False),
Expand Down Expand Up @@ -198,7 +200,10 @@ def test_structure(self,
assert len(em.key_input_nodes) == num_keys
assert len(em.value_input_nodes) == num_values
assert len(em.retrieval_nodes) == num_keys + num_values
# assert len(em.retrieval_weighting_nodes) == retrieval_weighting_nodes
if concatenate_keys:
assert em.retrieval_gating_nodes == []
else:
assert len(em.retrieval_gating_nodes) == num_keys
assert len(em.retrieval_nodes) == num_fields
assert isinstance(em.concatenate_keys_node, Mechanism) == concatenate_node
# assert em.retrieval_weighting_node == retrieval_weighting_nodes
Expand Down