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

Start v3 implemention #18

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Start v3 implemention #18

wants to merge 8 commits into from

Conversation

dicklyon
Copy link
Collaborator

@dicklyon dicklyon commented Sep 8, 2024

Adding new SYN stage (synape model) for a v3 CARFAC.

Adding new SYN stage (synape model) for a v3 CARFAC.
@dicklyon
Copy link
Collaborator Author

dicklyon commented Sep 9, 2024

Rob says I added files to the wrong dir, not under matlab. I don't see how to move them, or how to delete/cancel/abandon this pull request and try again, but I'll work on it.
I re-added the files under carfac/matlab, but still can't find how to remove the others.

@dicklyon dicklyon assigned robsc and getreuer and unassigned getreuer Sep 9, 2024
Copy link
Collaborator

@robsc robsc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks mostly great; There's 2 questions I had for the defaulting to fs = 48000 and n_classes = 3 only;

Will ask out of band about places to read more about the logic in all this.

matlab/CARFAC_Design.m Outdated Show resolved Hide resolved
matlab/CARFAC_Design.m Outdated Show resolved Hide resolved
matlab/CARFAC_Design.m Outdated Show resolved Hide resolved
matlab/CARFAC_IHC_Step.m Outdated Show resolved Hide resolved
switch test_freqs(k)
case 300
expected_results = [ ...
[1.898725, 450.438353];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These goldens look quite different to the 2 cap - which i guess is expected but I don't know how to "know" they're good/bad.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not thinking the numbers are good yet. They are just what makes it pass for now. And when I take out that fs = 48000 they're probably wrong anyway. So treat these as placeholders.

Fixed Design process per robsc's comments on PR 18.
Some SYN improvements, but really it needs a revamp of the Design process, with better parameterization and automatic calculation of rest rate to subtract to get AGC back closer to how it worked in old versions.
I reparameterized the SYN stage in terms of spontaneous and saturation rates for the classes and few other things, and implemented the design process to account for everything to get those to come out right, all in terms of variables that show up on the diagram that's an augmentation of the v2 two_cap IHC diagram (for documentation, in progress).
Still need to move some of the numbers into SYN_params.
.DS_Store Outdated
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is a macos fragment and I don't think it belongs here.

Moving a bunch of magic numbers out of the SYN_Design code and into the default SYN_params, so they are modifiable by user code.  And various other code tweaks and naming improvements (e.g. changed z to r for release rate; short variable names to facilitate labeling on doc diagrams).
The agc_weights needed to be appropriately set up to do the right thing with different sample rates, and to allow different numbers of IHCs per channel.  The AGC feedback is still proportional to the number of fibers, healthy or not, so the agc_weights parameters might need adjustment if the healthy_n_fibers is changed.  The param n_fibers was renamed healthy_n_fibers, as that's what applied at design time, and as the n_fibers in the coeffs may change with model training (in the JAX version at least).
copybara-service bot pushed a commit that referenced this pull request Oct 2, 2024
--
628c358 by Richard Lyon <[email protected]>:

Start v3 implemention

Adding new SYN stage (synape model) for a v3 CARFAC.
--
3ab484e by Richard Lyon <[email protected]>:

Add files via upload
--
ab450a0 by Richard Lyon <[email protected]>:

Fixes per robsc's comments on PR 18

Fixed Design process per robsc's comments on PR 18.

--
6975bde by Richard Lyon <[email protected]>:

Some SYN improvements; still needs a lot of work.

Some SYN improvements, but really it needs a revamp of the Design process, with better parameterization and automatic calculation of rest rate to subtract to get AGC back closer to how it worked in old versions.

--
17f5564 by Richard Lyon <[email protected]>:

Reparameterized, better design phase

I reparameterized the SYN stage in terms of spontaneous and saturation rates for the classes and few other things, and implemented the design process to account for everything to get those to come out right, all in terms of variables that show up on the diagram that's an augmentation of the v2 two_cap IHC diagram (for documentation, in progress).
Still need to move some of the numbers into SYN_params.

--
b79778a by Richard Lyon <[email protected]>:

Move SYN constants from code into default parameters

Moving a bunch of magic numbers out of the SYN_Design code and into the default SYN_params, so they are modifiable by user code.  And various other code tweaks and naming improvements (e.g. changed z to r for release rate; short variable names to facilitate labeling on doc diagrams).

--
0181d1e by Richard Lyon <[email protected]>:

Make agc_weights work better across sample rate and n_fiber changes

The agc_weights needed to be appropriately set up to do the right thing with different sample rates, and to allow different numbers of IHCs per channel.  The AGC feedback is still proportional to the number of fibers, healthy or not, so the agc_weights parameters might need adjustment if the healthy_n_fibers is changed.  The param n_fibers was renamed healthy_n_fibers, as that's what applied at design time, and as the n_fibers in the coeffs may change with model training (in the JAX version at least).

--
6cbf240 by Richard Lyon <[email protected]>:

Delete .DS_Store

COPYBARA_INTEGRATE_REVIEW=#18 from google:carfac-v3-start 6cbf240
PiperOrigin-RevId: 681626192
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants