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()