def _within_event_unit_id_shuffle(self, kind='train'):
"""Unit ID shuffle on BinnedSpikeTrainArray, shuffling independently within each epoch."""
if kind == 'train':
bst = self.PBEs_train
elif kind == 'test':
bst = self.PBEs_test
else:
raise ValueError("kind '{}' not understood!".format(kind))
out = copy.deepcopy(bst) # should this be deep?
data = out._data
edges = np.insert(np.cumsum(bst.lengths),0,0)
unit_list = np.arange(bst.n_units)
for ii in range(bst.n_epochs):
segment = data[:, edges[ii]:edges[ii+1]]
out._data[:, edges[ii]:edges[ii+1]] = segment[np.random.permutation(unit_list)]
if kind == 'train':
self.PBEs_train = out
else:
self.PBEs_test = out
评论列表
文章目录