Skip to content

Conversation

leoscholl
Copy link
Collaborator

randomly drop neurons by setting their mean FR to zero
makes it so we can make a decoder with the property "unit_drop_prob" which controls the probability of each unit begin dropped on a given trial

@leoscholl leoscholl requested a review from rcanfield2 March 13, 2024 22:50
Copy link
Collaborator

@rcanfield2 rcanfield2 left a comment

Choose a reason for hiding this comment

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

Looks good. It is unintuitive how setting mFR to 0 drops a unit out so I think the documentation should briefly explain.

def _start_wait(self):

# Decide which units to drop in this trial but don't actually drop them yet
if (self.gen_indices[self.target_index] == self.unit_drop_targets[self.unit_drop_group_idx] and
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think this should in 'in' instead of '==' in case there are multiple targets to drop a unit on.

'''

unit_drop_prob = traits.Float(0, desc="Probability of dropping a group of units from the decoder")
unit_drop_groups = traits.Array(value=[[0, 1], [2]], desc="Groups of unit indices to drop from the decoder one at a time")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Instead of being the unit indices to drop I think it should be based on the unit name/number.

Override the decoder to drop random units. Keep a record of what's going on in the `trial` data.
'''
super()._start_targ_transition()
if self.target_index + 1 < self.chain_length and np.any(self.decoder_units_dropped):
Copy link
Collaborator

Choose a reason for hiding this comment

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

If self.decoder_units_dropped is the name we'll have to add something like an np.where here.

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.

4 participants