コード例 #1
0
ファイル: HPC.py プロジェクト: williampeer/DeepBytes
    def recall(self):
        # Fire EC to CA3, CA3 to CA3
        if(self._ASYNC_FLAG):
            self.async_ca3_wrapper(self.ec_values.get_value(return_internal_type=True),
                                     self.ec_ca3_weights.get_value(return_internal_type=True),
                               np.zeros_like(self.dg_values.get_value(), dtype=np.float32),  # same as not including
                               np.zeros_like(self.dg_ca3_weights.get_value(), dtype=np.float32),
                                     self.ca3_values.get_value(return_internal_type=True),
                                     self.ca3_ca3_weights.get_value(return_internal_type=True),
                                     self.eta_ca3.get_value(return_internal_type=True),
                                     self.zeta_ca3.get_value(return_internal_type=True))
        else:
            self.fire_to_ca3_no_learning(self.ec_values.get_value(return_internal_type=True),
                                     self.ec_ca3_weights.get_value(return_internal_type=True),
                                     self.ca3_values.get_value(return_internal_type=True),
                                     self.ca3_ca3_weights.get_value(return_internal_type=True),
                                     self.eta_ca3.get_value(return_internal_type=True),
                                     self.zeta_ca3.get_value(return_internal_type=True))

        # kWTA CA3
        self.set_ca3_values(
                self.kWTA(self.ca3_values.get_value(return_internal_type=True), self.firing_rate_ca3))  # in-memory

        # fire CA3 to output
        self.fire_ca3_out(self.ca3_values.get_value(return_internal_type=True),
                          self.ca3_out_weights.get_value(return_internal_type=True))

        # Bipolar output:
        self.set_output(Tools.get_bipolar_in_out_values(self.output_values.get_value(return_internal_type=True)))
コード例 #2
0
def evaluate_ann_with_bipolar_output(ann, set_size):
    print "Evaluating the ANN-object.."
    sum_corr = 0.
    corr_ctr = 0.
    neocortically_recalled_pairs = []
    for [target_in, target_out] in training_patterns_associative[:5*set_size]:
        obtained_in, obtained_out = ann.get_IO(target_in)
        sum_corr += Tools.get_pattern_correlation(target_out, Tools.get_bipolar_in_out_values(obtained_out))
        corr_ctr += 1
        neocortically_recalled_pairs.append([obtained_in, obtained_out])
    g = sum_corr / corr_ctr

    goodness_str = "goodness of fit, g=" + "{:6.4f}".format(g)
    print goodness_str