Python keras.regularizers.l1_l2() Examples
The following are 30
code examples of keras.regularizers.l1_l2().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
keras.regularizers
, or try the search function
.
Example #1
Source File: convolutional_encoder.py From deep_qa with Apache License 2.0 | 6 votes |
def __init__(self, units: int, num_filters: int, ngram_filter_sizes: Tuple[int]=(2, 3, 4, 5), conv_layer_activation: str='relu', l1_regularization: float=None, l2_regularization: float=None, **kwargs): self.num_filters = num_filters self.ngram_filter_sizes = ngram_filter_sizes self.output_dim = units self.conv_layer_activation = conv_layer_activation self.l1_regularization = l1_regularization self.l2_regularization = l2_regularization self.regularizer = lambda: l1_l2(l1=self.l1_regularization, l2=self.l2_regularization) # These are member variables that will be defined during self.build(). self.convolution_layers = None self.max_pooling_layers = None self.projection_layer = None self.input_spec = [InputSpec(ndim=3)] super(CNNEncoder, self).__init__(**kwargs)
Example #2
Source File: MSnetworks.py From CNNArt with Apache License 2.0 | 6 votes |
def fConvIncep(input_t, KB=64, layernum=2, l1_reg=0.0, l2_reg=1e-6, iPReLU=0): tower_t = Conv3D(filters=KB, kernel_size=[2,2,1], kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(input_t) incep = fGetActivation(tower_t, iPReLU=iPReLU) for counter in range(1,layernum): incep = InceptionBlock(incep, l1_reg=l1_reg, l2_reg=l2_reg) incepblock_out = concatenate([incep, input_t], axis=1) return incepblock_out
Example #3
Source File: MSnetworks.py From CNNArt with Apache License 2.0 | 6 votes |
def InceptionBlock(inp, l1_reg=0.0, l2_reg=1e-6): KN = fgetKernelNumber() branch1 = Conv3D(filters=KN[0], kernel_size=(1,1,1), kernel_initializer='he_normal', weights=None,padding='same', strides=(1,1,1),kernel_regularizer=l1_l2(l1_reg, l2_reg),activation='relu')(inp) branch3 = Conv3D(filters=KN[0], kernel_size=(1, 1, 1), kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), activation='relu')(inp) branch3 = Conv3D(filters=KN[2], kernel_size=(3, 3, 3), kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), activation='relu')(branch3) branch5 = Conv3D(filters=KN[0], kernel_size=(1, 1, 1), kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), activation='relu')(inp) branch5 = Conv3D(filters=KN[1], kernel_size=(5, 5, 5), kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), activation='relu')(branch5) branchpool = MaxPooling3D(pool_size=(3,3,3),strides=(1,1,1),padding='same',data_format='channels_first')(inp) branchpool = Conv3D(filters=KN[0], kernel_size=(1, 1, 1), kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), activation='relu')(branchpool) out = concatenate([branch1, branch3, branch5, branchpool], axis=1) return out
Example #4
Source File: motion_MNetArt.py From CNNArt with Apache License 2.0 | 6 votes |
def fCreateMNet_Block(input_t, channels, kernel_size=(3,3), type=1, forwarding=True,l1_reg=0.0, l2_reg=1e-6 ): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(input_t) tower_t = Activation('relu')(tower_t) for counter in range(1, type): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = Activation('relu')(tower_t) if (forwarding): tower_t = concatenate([tower_t, input_t], axis=1) return tower_t
Example #5
Source File: VNetArt.py From CNNArt with Apache License 2.0 | 6 votes |
def fCreateVNet_Block(input_t, channels, type=1, kernel_size=(3, 3, 3), l1_reg=0.0, l2_reg=1e-6, iPReLU=0, dr_rate=0): tower_t = Dropout(dr_rate)(input_t) tower_t = Conv3D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = fGetActivation(tower_t, iPReLU=iPReLU) for counter in range(1, type): tower_t = Dropout(dr_rate)(tower_t) tower_t = Conv3D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = fGetActivation(tower_t, iPReLU=iPReLU) tower_t = concatenate([tower_t, input_t], axis=1) return tower_t
Example #6
Source File: VNetArt.py From CNNArt with Apache License 2.0 | 6 votes |
def fCreateVNet_Block(input_t, channels, type=1, kernel_size=(3, 3, 3), l1_reg=0.0, l2_reg=1e-6, iPReLU=0, dr_rate=0): tower_t = Dropout(dr_rate)(input_t) tower_t = Conv3D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = fGetActivation(tower_t, iPReLU=iPReLU) for counter in range(1, type): tower_t = Dropout(dr_rate)(tower_t) tower_t = Conv3D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = fGetActivation(tower_t, iPReLU=iPReLU) tower_t = concatenate([tower_t, input_t], axis=1) return tower_t
Example #7
Source File: MNetArt.py From CNNArt with Apache License 2.0 | 6 votes |
def fCreateMNet_Block(input_t, channels, kernel_size=(3, 3), type=1, forwarding=True, l1_reg=0.0, l2_reg=1e-6): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(input_t) tower_t = Activation('relu')(tower_t) for counter in range(1, type): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = Activation('relu')(tower_t) if (forwarding): tower_t = concatenate([tower_t, input_t], axis=1) return tower_t
Example #8
Source File: MNetArt.py From CNNArt with Apache License 2.0 | 6 votes |
def fCreateMNet_Block(input_t, channels, kernel_size=(3, 3), type=1, forwarding=True, l1_reg=0.0, l2_reg=1e-6): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(input_t) tower_t = Activation('relu')(tower_t) for counter in range(1, type): tower_t = Conv2D(channels, kernel_size=kernel_size, kernel_initializer='he_normal', weights=None, padding='same', strides=(1, 1), kernel_regularizer=l1_l2(l1_reg, l2_reg), )(tower_t) tower_t = Activation('relu')(tower_t) if (forwarding): tower_t = concatenate([tower_t, input_t], axis=1) return tower_t
Example #9
Source File: models.py From open-solution-home-credit with MIT License | 6 votes |
def _build_model(self, input_shape, **kwargs): K.clear_session() model = Sequential() for layer in range(self.model_params['layers']): config = {key: val[layer] for key, val in self.model_params.items() if key != 'layers'} if layer == 0: model.add(Dense(config['neurons'], kernel_regularizer=l1_l2(l1=config['l1'], l2=config['l2']), input_shape=input_shape)) else: model.add(Dense(config['neurons'], kernel_regularizer=l1_l2(l1=config['l1'], l2=config['l2']))) if config['batch_norm']: model.add(BatchNormalization()) model.add(Activation(config['activation'])) model.add(Dropout(config['dropout'])) return model
Example #10
Source File: sdne_utils.py From GEM with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_decoder(node_num, d, K, n_units, nu1, nu2, activation_fn): # Input y = Input(shape=(d,)) # Decoder layers y_hat = [None] * (K + 1) y_hat[K] = y for i in range(K - 1, 0, -1): y_hat[i] = Dense(n_units[i - 1], activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y_hat[i + 1]) y_hat[0] = Dense(node_num, activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y_hat[1]) # Output x_hat = y_hat[0] # decoder's output is also the actual output # Decoder Model decoder = Model(input=y, output=x_hat) return decoder
Example #11
Source File: network.py From dca with Apache License 2.0 | 6 votes |
def build_output(self): mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean')(self.decoder_output) # Plug in dispersion parameters via fake dispersion layer disp = ConstantDispersionLayer(name='dispersion') mean = disp(mean) output = ColwiseMultLayer([mean, self.sf_layer]) nb = NB(disp.theta_exp) self.loss = nb.loss self.extra_models['dispersion'] = lambda :K.function([], [nb.theta])([])[0].squeeze() self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #12
Source File: sdne_utils.py From GEM-Benchmark with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_variational_encoder(node_num, d, n_units, nu1, nu2, activation_fn): K = len(n_units) + 1 # Input x = Input(shape=(node_num,)) # Encoder layers y = [None] * (K + 3) y[0] = x for i in range(K - 1): y[i + 1] = Dense(n_units[i], activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y[i]) y[K] = Dense(d, activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y[K - 1]) y[K + 1] = Dense(d)(y[K - 1]) # y[K + 1] = Dense(d, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y[K - 1]) y[K + 2] = Lambda(sampling, output_shape=(d,))([y[K], y[K + 1]]) # Encoder model encoder = Model(input=x, outputs=[y[K], y[K + 1], y[K + 2]]) return encoder
Example #13
Source File: sdne_utils.py From GEM-Benchmark with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_decoder(node_num, d, n_units, nu1, nu2, activation_fn): K = len(n_units) + 1 # Input y = Input(shape=(d,)) # Decoder layers y_hat = [None] * (K + 1) y_hat[K] = y for i in range(K - 1, 0, -1): y_hat[i] = Dense(n_units[i - 1], activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y_hat[i + 1]) y_hat[0] = Dense(node_num, activation=activation_fn, W_regularizer=Reg.l1_l2(l1=nu1, l2=nu2))(y_hat[1]) # Output x_hat = y_hat[0] # decoder's output is also the actual output # Decoder Model decoder = Model(input=y, output=x_hat) return decoder
Example #14
Source File: network.py From dca with Apache License 2.0 | 6 votes |
def build_output(self): pi = Dense(self.output_size, activation='sigmoid', kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='pi')(self.decoder_output) mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean')(self.decoder_output) # NB dispersion layer disp = ConstantDispersionLayer(name='dispersion') mean = disp(mean) output = ColwiseMultLayer([mean, self.sf_layer]) zinb = ZINB(pi, theta=disp.theta_exp, ridge_lambda=self.ridge, debug=self.debug) self.loss = zinb.loss self.extra_models['pi'] = Model(inputs=self.input_layer, outputs=pi) self.extra_models['dispersion'] = lambda :K.function([], [zinb.theta])([])[0].squeeze() self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #15
Source File: network.py From dca with Apache License 2.0 | 6 votes |
def build_output(self): disp = Dense(self.output_size, activation=DispAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='dispersion')(self.decoder_output) mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean')(self.decoder_output) output = ColwiseMultLayer([mean, self.sf_layer]) output = SliceLayer(0, name='slice')([output, disp]) nb = NB(theta=disp, debug=self.debug) self.loss = nb.loss self.extra_models['dispersion'] = Model(inputs=self.input_layer, outputs=disp) self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #16
Source File: regression.py From autonomio with MIT License | 6 votes |
def regression(X, Y, epochs, reg_mode): x, y = np.array(X),np.array(Y) model = Sequential() if reg_mode == 'linear': model.add(Dense(1, input_dim=x.shape[1])) model.compile(optimizer='rmsprop', metrics=['accuracy'], loss='mse') elif reg_mode == 'logistic': model.add(Dense(1, activation='sigmoid', input_dim=x.shape[1])) model.compile(optimizer='rmsprop', metrics=['accuracy'], loss='binary_crossentropy') elif reg_mode == 'regularized': reg = l1_l2(l1=0.01, l2=0.01) model.add(Dense(1, activation='sigmoid', W_regularizer=reg, input_dim=x.shape[1])) model.compile(optimizer='rmsprop', metrics=['accuracy'], loss='binary_crossentropy') out = model.fit(x, y, nb_epoch=epochs, verbose=0, validation_split=.33) return model, out
Example #17
Source File: network.py From dca with Apache License 2.0 | 5 votes |
def build_output(self): pi = Dense(1, activation='sigmoid', kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='pi')(self.decoder_output) disp = Dense(1, activation=DispAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='dispersion')(self.decoder_output) mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean')(self.decoder_output) output = ColwiseMultLayer([mean, self.sf_layer]) output = SliceLayer(0, name='slice')([output, disp, pi]) zinb = ZINB(pi, theta=disp, ridge_lambda=self.ridge, debug=self.debug) self.loss = zinb.loss self.extra_models['pi'] = Model(inputs=self.input_layer, outputs=pi) self.extra_models['dispersion'] = Model(inputs=self.input_layer, outputs=disp) self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #18
Source File: dann.py From ddan with MIT License | 5 votes |
def _build(self, input_layer, arch, activations, noise, droprate, l2reg): print 'Building network layers...' network = [input_layer] for nunits in arch: print nunits if isinstance(nunits, int): network += [Dense(nunits, activation='linear', kernel_regularizer=l1_l2(l1=0.01, l2=l2reg))(network[-1])] elif nunits == 'noise': network += [GaussianNoise(noise)(network[-1])] elif nunits == 'bn': network += [BatchNormalization()(network[-1])] elif nunits == 'drop': network += [Dropout(droprate)(network[-1])] elif nunits == 'act': if activations == 'prelu': network += [PReLU()(network[-1])] elif activations == 'leakyrelu': network += [LeakyReLU()(network[-1])] elif activations == 'elu': network += [ELU()(network[-1])] else: print 'Activation({})'.format(activations) network += [Activation(activations)(network[-1])] return network
Example #19
Source File: network.py From dca with Apache License 2.0 | 5 votes |
def build_output(self): pi = Dense(self.output_size, activation='sigmoid', kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='pi')(self.last_hidden_pi) disp = Dense(self.output_size, activation=DispAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='dispersion')(self.last_hidden_disp) mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean')(self.last_hidden_mean) output = ColwiseMultLayer([mean, self.sf_layer]) output = SliceLayer(0, name='slice')([output, disp, pi]) zinb = ZINB(pi, theta=disp, ridge_lambda=self.ridge, debug=self.debug) self.loss = zinb.loss self.extra_models['pi'] = Model(inputs=self.input_layer, outputs=pi) self.extra_models['dispersion'] = Model(inputs=self.input_layer, outputs=disp) self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #20
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #21
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #22
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #23
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #24
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #25
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #26
Source File: regularizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def test_kernel_regularization(): x_train, y_train = get_data() for reg in [regularizers.l1(), regularizers.l2(), regularizers.l1_l2()]: model = create_model(kernel_regularizer=reg) model.compile(loss='categorical_crossentropy', optimizer='sgd') assert len(model.losses) == 1 model.train_on_batch(x_train, y_train)
Example #27
Source File: network.py From dca with Apache License 2.0 | 5 votes |
def build_output(self): disp = Dense(self.output_size, activation=DispAct, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='dispersion')(self.decoder_output) mean_no_act = Dense(self.output_size, activation=None, kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='mean_no_act')(self.decoder_output) minus = Lambda(lambda x: -x) mean_no_act = minus(mean_no_act) pidim = self.output_size if not self.sharedpi else 1 pi = ElementwiseDense(pidim, activation='sigmoid', kernel_initializer=self.init, kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef), name='pi')(mean_no_act) mean = Activation(MeanAct, name='mean')(mean_no_act) output = ColwiseMultLayer([mean, self.sf_layer]) output = SliceLayer(0, name='slice')([output, disp, pi]) zinb = ZINB(pi, theta=disp, ridge_lambda=self.ridge, debug=self.debug) self.loss = zinb.loss self.extra_models['pi'] = Model(inputs=self.input_layer, outputs=pi) self.extra_models['dispersion'] = Model(inputs=self.input_layer, outputs=disp) self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean) self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output) self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output) self.encoder = self.get_encoder()
Example #28
Source File: __init__.py From deep_qa with Apache License 2.0 | 5 votes |
def set_regularization_params(encoder_type: str, params: Params): """ This method takes regularization parameters that are specified in `params` and converts them into Keras regularization objects, modifying `params` to contain the correct keys for the given encoder_type. Currently, we only allow specifying a consistent regularization across all the weights of a layer. """ l2_regularization = params.pop("l2_regularization", None) l1_regularization = params.pop("l1_regularization", None) regularizer = lambda: l1_l2(l1=l1_regularization, l2=l2_regularization) if encoder_type == 'cnn': # Regularization with the CNN encoder is complicated, so we'll just pass in the L1 and L2 # values directly, and let the encoder deal with them. params["l1_regularization"] = l1_regularization params["l2_regularization"] = l2_regularization elif encoder_type == 'lstm': params["W_regularizer"] = regularizer() params["U_regularizer"] = regularizer() params["b_regularizer"] = regularizer() elif encoder_type == 'tree_lstm': params["W_regularizer"] = regularizer() params["U_regularizer"] = regularizer() params["V_regularizer"] = regularizer() params["b_regularizer"] = regularizer() return params # The first item added here will be used as the default in some cases.
Example #29
Source File: motion_all_CNN2D_multiscale.py From CNNArt with Apache License 2.0 | 5 votes |
def fConveBlock(conv_input,l1_reg=0.0, l2_reg=1e-6, dr_rate=0): Kernels = fgetKernels() Strides = fgetStrides() KernelNumber = fgetKernelNumber() # All parameters about kernels and so on are identical with original 2DCNN drop_out_1 = Dropout(dr_rate)(conv_input) conve_out_1 = Conv2D(KernelNumber[0], kernel_size=Kernels[0], kernel_initializer='he_normal', weights=None, padding='valid', strides=Strides[0], kernel_regularizer=l1_l2(l1_reg, l2_reg) )(drop_out_1) # input shape : 1 means grayscale... richtig uebergeben... active_out_1 = Activation('relu')(conve_out_1) drop_out_2 = Dropout(dr_rate)(active_out_1) conve_out_2 = Conv2D(KernelNumber[1], # learning rate: 0.1 -> 76% kernel_size=Kernels[1], kernel_initializer='he_normal', weights=None, padding='valid', strides=Strides[1], kernel_regularizer=l1_l2(l1_reg, l2_reg) )(drop_out_2) active_out_2 = Activation('relu')(conve_out_2) drop_out_3 = Dropout(dr_rate)(active_out_2) conve_out_3 = Conv2D(KernelNumber[2], # learning rate: 0.1 -> 76% kernel_size=Kernels[2], kernel_initializer='he_normal', weights=None, padding='valid', strides=Strides[2], kernel_regularizer=l1_l2(l1_reg, l2_reg) )(drop_out_3) active_out_3 = Activation('relu')(conve_out_3) return active_out_3
Example #30
Source File: noisy_or.py From deep_qa with Apache License 2.0 | 5 votes |
def build(self, input_shape): # Add the trainable weight variable for the noise parameter. self.noise_parameter = self.add_weight(shape=(), name=self.name + '_noise_param', initializer=self.param_init, regularizer=l1_l2(l2=0.001), constraint=self.noise_param_constraint, trainable=True) super(NoisyOr, self).build(input_shape)