Пример #1
0
    def build_model(self):
        if not self.conv_mlp_layer:
            self.conv_mlp_layer = ConvMLPLayer(patch_size=self.patch_size,
                                               npatches=self.npatches,
                                               n_hids=self.n_hids,
                                               activ=self.activ,
                                               n_out=self.n_bottleneck,
                                               out_activ=self.bottleneck_activ,
                                               use_deepmind_pooling=self.use_deepmind_pooling,
                                               weight_initializer=self.weight_initializer,
                                               bias_initializer=self.bias_initializer,
                                               name=self.pname("conv_mlp_layer"))

        if not self.out_hid_layer:
            self.out_hid_layer = AffineLayer(n_in=self.bottleneck_out,
                                            n_out=self.n_hids,
                                            use_bias=True,
                                            weight_initializer=self.weight_initializer,
                                            bias_initializer=self.bias_initializer,
                                            name=self.pname("out_hid_layer"))

        if not self.out_layer:
            self.out_layer = AffineLayer(n_in=self.n_hids,
                                         n_out=self.n_out,
                                         use_bias=True,
                                         weight_initializer=self.weight_initializer,
                                         bias_initializer=self.bias_initializer,
                                         name=self.pname("out_layer"))

        self.children = [self.conv_mlp_layer, self.out_hid_layer, self.out_layer]
        self.merge_params()
        self.str_params()