Exemplo n.º 1
0
    def __init__(self, mNet, y_activ_regression, mBGsub, depth):

        n_leaves = 2**depth

        x_activ = mNet.activation_volume
        size_last_convolution = mNet.nb_activations
        H_ds, W_ds = x_activ.shape[2], x_activ.shape[3]
        batch_size = x_activ.shape[0]

        #get foreground/background proba
        p_fb = mBGsub.p_fb
        p_foreground = p_fb[:, 0, :, :].reshape((batch_size, 1, H_ds, W_ds))

        #Decision Flat 2 layers

        #Decision tree
        self.params_regression = RegFcts.init_all_tree_params(
            depth, size_last_convolution)  #[w_1,b_1]

        #defining all decision nodes, breadth first, storing all the probas tensors in a list
        tree_probas_list = RegFcts.create_tree_probas_list(
            x_activ, p_foreground, self.params_regression, depth, batch_size)

        # Put Output in the leaves

        p_leaves = []
        for l in range(0, n_leaves):
            p_leaves.append(tree_probas_list[pow(2, depth) - 1 + l])

#Define objects

        self.p_leaves = p_leaves
        self.n_leaves = n_leaves
        self.size_last_convolution = size_last_convolution
        self.depth = depth
Exemplo n.º 2
0
 def get_random_regression_params(self):
     random_params_regression = RegFcts.random_FC3_params(
         self.size_last_convolution,
         self.n_leaves,
         hidden_0_size=300,
         hidden_1_size=80)
     return random_params_regression
Exemplo n.º 3
0
 def init_regression_params(self):
     self.params_regression = RegFcts.init_FC3_params(
         self.size_last_convolution,
         self.n_leaves,
         hidden_0_size=300,
         hidden_1_size=80)
     return self.params_regression
Exemplo n.º 4
0
    def __init__(self, mNet, y_activ_regression, mBGsub, n_leaves, p_drop=0.0):

        x_activ = mNet.activation_volume
        size_last_convolution = mNet.nb_activations
        H_ds, W_ds = x_activ.shape[2], x_activ.shape[3]
        batch_size = x_activ.shape[0]

        #get foreground/background proba
        p_fb = mBGsub.p_fb
        p_foreground = p_fb[:, 0, :, :].reshape((batch_size, 1, H_ds, W_ds))

        #Decision Flat 2 hidden layers

        self.params_regression = RegFcts.init_FC3_params(size_last_convolution,
                                                         n_leaves,
                                                         hidden_0_size=300,
                                                         hidden_1_size=80)

        p_fin = RegFcts.decision_node_flat3(x_activ,
                                            self.params_regression[0],
                                            self.params_regression[1],
                                            self.params_regression[2],
                                            self.params_regression[3],
                                            self.params_regression[4],
                                            self.params_regression[5],
                                            batch_size,
                                            p_drop=p_drop)

        p_fin = p_fin * T.repeat(p_foreground, n_leaves, axis=1)

        # Put Output in the leaves

        p_leaves = []
        for l in range(0, n_leaves):
            p_leaves.append(p_fin[:, l:l + 1, :, :])

#Define objects

        self.p_leaves = p_leaves
        self.n_leaves = n_leaves
        self.size_last_convolution = size_last_convolution
Exemplo n.º 5
0
 def init_regression_params(self):
     self.params_regression = RegFcts.init_FC_params(
         self.size_last_convolution, self.n_leaves)
     return self.params_regression
Exemplo n.º 6
0
 def init_regression_params(self):
     self.params_regression = RegFcts.init_all_tree_params(
         self.depth, self.size_last_convolution)
     return self.params_regression