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

CLP Tutorial 02: COIL-100 #721

Merged
merged 74 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
72ea8f2
CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests
elvinhajizada May 30, 2023
549bff4
Merge branch 'CLP-v1'
elvinhajizada May 30, 2023
f24738e
small linting fix
elvinhajizada May 30, 2023
be9b147
Novelty detector upgraded to target next neuron; codacy errors fixed
elvinhajizada Jun 1, 2023
f29b056
integration test; small fixes
elvinhajizada Jun 8, 2023
d8bae1f
removed duplicate code in prototypeLIF process; linting fixes
elvinhajizada Jun 8, 2023
f109810
linting fixes
elvinhajizada Jun 8, 2023
9f1ac3c
Merge branch 'main' of https://github.com/lava-nc/lava
elvinhajizada Jun 8, 2023
d649c43
Merge branch 'CLP-v1-integration'
elvinhajizada Jun 8, 2023
d15b4cc
Linting and codacy fixes
elvinhajizada Jun 8, 2023
9a76d9e
remove duplicate test; some more codacy fixes
elvinhajizada Jun 8, 2023
c1a8cdf
clp tutorial01 v1
elvinhajizada Jun 20, 2023
584b0ca
Merge branch 'main' of https://github.com/lava-nc/lava into CLP-v1-in…
elvinhajizada Jun 20, 2023
bf68076
PrototypeLIF spikes when it recieves a 3rd factor input
elvinhajizada Jun 20, 2023
e3b17b1
a test for PrototypeLIF output spike after 3rd factor input
elvinhajizada Jun 20, 2023
ae115d0
Merge branch 'main' into CLP-v1-integration
elvinhajizada Jun 20, 2023
611b115
clp tutorial01 ready to be roughly finished
elvinhajizada Jun 20, 2023
df8f56e
linting, license and utils fixes
elvinhajizada Jun 20, 2023
5d4beae
CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes
elvinhajizada Jun 29, 2023
efe7d71
Allocation & prototype id tracking is abstracted away from
elvinhajizada Jul 4, 2023
7dedbc5
Allocator process; Readout proc sends allocation trigger if error
elvinhajizada Jul 4, 2023
26160cd
introduce learning rate Var in PrototypeLIF
elvinhajizada Jul 4, 2023
3228094
updated integration tests; full system test included
elvinhajizada Jul 4, 2023
3e4a4fc
Merge branch 'main' of https://github.com/lava-nc/lava
elvinhajizada Jul 4, 2023
e24f412
Linting fixes
elvinhajizada Jul 4, 2023
0ebfeda
Another small lintint fix
elvinhajizada Jul 4, 2023
4e82100
Merge branch 'main' into clp_tutorial01
elvinhajizada Jul 4, 2023
53f0c6d
clp tutorial 2, 20 class experiments (Coil-100)
elvinhajizada Jul 10, 2023
611bc47
PrototypeLIF hard reset capability to enable faster temporal WTA
elvinhajizada Jul 10, 2023
a5e014e
allocation mechanism changed; proc interfaces changes; dense conns
elvinhajizada Jul 12, 2023
12b4b4f
Merge branch 'main' of https://github.com/lava-nc/lava
elvinhajizada Jul 12, 2023
bde4fa9
small linting fix
elvinhajizada Jul 12, 2023
0113abe
small codacy fix
elvinhajizada Jul 12, 2023
b4cf849
prints removed, spelling mistakes fixed
elvinhajizada Jul 13, 2023
2ce6359
ignoring one check in an integration test
elvinhajizada Jul 14, 2023
ad67de8
Revert "small linting fix"
elvinhajizada Jul 15, 2023
ca236aa
Merge branch 'main' into clp_tutorial01
elvinhajizada Jul 15, 2023
858c602
Merge branch 'main' into main
PhilippPlank Jul 17, 2023
ee9413a
CLP tutorial 1 is finalized
elvinhajizada Jul 17, 2023
35a8415
Merge branch 'main' into main
mgkwill Jul 17, 2023
44dd75a
Fix linting in test_models.py
mgkwill Jul 17, 2023
ff1e0aa
Merge branch 'main' into clp_tutorial01
mgkwill Jul 17, 2023
924be71
Test fix in utils.py
mgkwill Jul 17, 2023
d4bf01f
Fix test of bug fix in utils.py
mgkwill Jul 17, 2023
69a5741
Fix utils.py
mgkwill Jul 17, 2023
bfbc654
Implemented individual threadsafe random call
bamsumit Jul 17, 2023
0a86f7e
tutorial 2 use new abstracted CLP class
elvinhajizada Jul 17, 2023
c101d98
Merge remote-tracking branch 'origin' into clp_tutorial01
elvinhajizada Jul 17, 2023
e1cabd7
CLP tutorial 2: unsupervised and supervised experiments are seperated
elvinhajizada Jul 19, 2023
e8929d2
Merge branch 'clp_tutorial01' of https://github.com/elvinhajizada/lav…
elvinhajizada Jul 19, 2023
d2a5e7f
Merge branch 'main' of https://github.com/lava-nc/lava into clp_tutor…
elvinhajizada Jul 19, 2023
775651d
Merge branch 'main' into clp_tutorial01
PhilippPlank Jul 21, 2023
4308869
Merge branch 'main' into clp_tutorial01
PhilippPlank Jul 21, 2023
bf2a545
Merge branch 'main' of https://github.com/lava-nc/lava
elvinhajizada Jul 24, 2023
ddcd9d9
Merge branch 'main' into clp_tutorial01
elvinhajizada Jul 24, 2023
44b1f02
addressed reviewer's requests, added tests, removed pics etc
elvinhajizada Jul 24, 2023
d499ab6
Merge branch 'clp_tutorial01' of https://github.com/elvinhajizada/lav…
elvinhajizada Jul 24, 2023
843b067
Update clp.py
PhilippPlank Jul 24, 2023
9cee3a7
Update tutorial01_one-shot_learning_with_novelty_detection.ipynb
PhilippPlank Jul 24, 2023
59144f4
Update tutorial02_clp_on_coil100.ipynb
PhilippPlank Jul 24, 2023
45696c3
Update tutorial01_one-shot_learning_with_novelty_detection.ipynb
PhilippPlank Jul 24, 2023
ebc1367
Update tutorial02_clp_on_coil100.ipynb
PhilippPlank Jul 24, 2023
310df71
Merge branch 'main' of https://github.com/lava-nc/lava
elvinhajizada Aug 14, 2023
96db6ee
Merge branch 'main' into clp_tutorial01
elvinhajizada Aug 14, 2023
4add314
CLP class and experiments improved; pytorch dependency removed;
elvinhajizada Aug 25, 2023
dab1323
Allocator accepts arbitrary initial index as param
elvinhajizada Aug 25, 2023
17bc626
New experiments; improved CLP class; continuous experimentation; new
elvinhajizada Sep 11, 2023
f853e31
Merge branch 'main' into clp_tutorial01
elvinhajizada Sep 12, 2023
b9d6603
linting fixes
elvinhajizada Sep 18, 2023
bc02ffd
Temporarily skipping CLP tutorials test till sk-learn is added
elvinhajizada Sep 18, 2023
1e4935f
Merge branch 'main' into clp_tutorial01
PhilippPlank Sep 18, 2023
be60280
Merge branch 'main' into clp_tutorial01
PhilippPlank Sep 21, 2023
60ea52f
scikit-learn added to poetry; tutorial tst is re-enabled
elvinhajizada Sep 21, 2023
04ca6a3
Merge branch 'clp_tutorial01' of https://github.com/elvinhajizada/lav…
elvinhajizada Sep 21, 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
72 changes: 70 additions & 2 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ numpy = "^1.24.4"
scipy = "^1.10.1"
networkx = "<=2.8.7"
asteval = "^0.9.31"
scikit-learn = "^1.3.1"

[tool.poetry.dev-dependencies]
bandit = "1.7.4"
Expand Down
5 changes: 3 additions & 2 deletions src/lava/proc/clp/nsm/process.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ class Allocator(AbstractProcess):
"""

def __init__(self, *,
n_protos: int) -> None:
n_protos: int,
next_alloc_id: ty.Optional[int] = 1) -> None:

super().__init__()

Expand All @@ -83,5 +84,5 @@ def __init__(self, *,
self.allocate_out = OutPort(shape=(1,))

# The id of the next prototype to be allocated
self.next_alloc_id = Var(shape=(1,), init=1)
self.next_alloc_id = Var(shape=(1,), init=next_alloc_id)
self.n_protos = Var(shape=(1,), init=n_protos)
Loading