示例#1
0
    def start(self):
        super(Experiment_sequence, self).start()
        c = self.params.c
        # Create paper-specific sources
        self.test_words = c.source.test_words
        if not c.source.control:
            source = CountingSource(['ABCD'], np.array([[1.]]), c.N_u_e,
                                    c.N_u_i, c.source.avoid)
        else:
            from itertools import permutations
            source = CountingSource.init_simple(
                24,
                4, [4, 4],
                1,
                c.N_u_e,
                c.N_u_i,
                c.source.avoid,
                words=[''.join(x) for x in (permutations('ABCD'))])
        # Already add letters for later
        source.alphabet = unique("".join(source.words) + 'E_')
        source.N_a = len(source.alphabet)
        source.lookup = dict(zip(source.alphabet,\
                                       range(source.N_a)))

        source = TrialSource(source, c.wait_min_plastic, c.wait_var_plastic,
                             zeros(source.N_a), 'reset')
        self.source_archived = copy.deepcopy(source)

        inputtrainsteps = c.steps_plastic + c.steps_noplastic_train

        stats_single = [
            ActivityStat(),
            InputIndexStat(),
            SpikesStat(),
            ISIsStat(interval=[0, c.steps_plastic]),
            ConnectionFractionStat(),
        ]
        stats_all = [
            ParamTrackerStat(),
            EndWeightStat(),
            InputUnitsStat(),
            MeanActivityStat(start=inputtrainsteps,
                             stop=c.N_steps,
                             N_indices=len(''.join((self.test_words))) + 1,
                             LFP=False),
            MeanPatternStat(start=c.steps_plastic,
                            stop=c.N_steps,
                            N_indices=len(''.join((self.test_words))) + 1)
        ]

        return (source, stats_single + stats_all, stats_all)
示例#2
0
    def start(self):
        super(Experiment_sequence,self).start()   
        c = self.params.c
        # Create paper-specific sources
        self.test_words = c.source.test_words
        if not c.source.control:
            source = CountingSource(['ABCD'],np.array([[1.]]),
                           c.N_u_e,c.N_u_i,c.source.avoid)
        else:
            from itertools import permutations
            source = CountingSource.init_simple(24,4,[4,4],1,
                           c.N_u_e,c.N_u_i,c.source.avoid, words = 
                           [''.join(x) for x in (permutations('ABCD'))])
        # Already add letters for later
        source.alphabet = unique("".join(source.words)+'E_')
        source.N_a = len(source.alphabet)
        source.lookup = dict(zip(source.alphabet,\
                                       range(source.N_a)))

        source = TrialSource(source, c.wait_min_plastic, 
                       c.wait_var_plastic,zeros(source.N_a),'reset')
        self.source_archived = copy.deepcopy(source)

        inputtrainsteps = c.steps_plastic + c.steps_noplastic_train

        stats_single = [
                         ActivityStat(),
                         InputIndexStat(),
                         SpikesStat(),
                         ISIsStat(interval=[0, c.steps_plastic]),
                         ConnectionFractionStat(),
                        ]
        stats_all = [
                     ParamTrackerStat(),
                     EndWeightStat(),
                     InputUnitsStat(),
                     MeanActivityStat(start=inputtrainsteps,
                      stop=c.N_steps,
                      N_indices=len(''.join((self.test_words)))+1,
                                    LFP=False),
                     MeanPatternStat(start=c.steps_plastic,
                      stop=c.N_steps,
                      N_indices=len(''.join((self.test_words)))+1)
                    ]
        
        return (source,stats_single+stats_all,stats_all)