Python keras.layers.core.Lambda() Examples
The following are 30
code examples of keras.layers.core.Lambda().
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.layers.core
, or try the search function
.
Example #1
Source File: keras2_emitter.py From MMdnn with MIT License | 6 votes |
def _layer_Fill(self): self.add_body(0, ''' def __fill(input, value): class Fill(keras.layers.Layer): def call(self, input): if keras.backend.backend() =='tensorflow': output = tf.fill(input, value) else: raise NotImplementedError self.output_dim = [dim.value for dim in output.shape] return output def compute_output_shape(self, input_shape): return tuple(self.output_dim) # output = Lambda(lambda x: tf.fill(x, value))(input) output = Fill()(input) # return output ''')
Example #2
Source File: customlayers.py From convnets-keras with MIT License | 6 votes |
def splittensor(axis=1, ratio_split=1, id_split=0, **kwargs): def f(X): div = X.shape[axis] // ratio_split if axis == 0: output = X[id_split * div:(id_split + 1) * div, :, :, :] elif axis == 1: output = X[:, id_split * div:(id_split + 1) * div, :, :] elif axis == 2: output = X[:, :, id_split * div:(id_split + 1) * div, :] elif axis == 3: output = X[:, :, :, id_split * div:(id_split + 1) * div] else: raise ValueError('This axis is not possible') return output def g(input_shape): output_shape = list(input_shape) output_shape[axis] = output_shape[axis] // ratio_split return tuple(output_shape) return Lambda(f, output_shape=lambda input_shape: g(input_shape), **kwargs)
Example #3
Source File: resnet.py From SPTM with MIT License | 6 votes |
def build_siamese_resnet_18(input_shape, num_outputs): channels, height, width = input_shape branch_channels = 3 #channels / 2 branch_input_shape = (branch_channels, height, width) branch = ResnetBuilder.build_resnet_18(branch_input_shape, NUM_EMBEDDING, False) input = Input(shape=(height, width, channels)) first_branch = branch(Lambda(lambda x: x[:, :, :, :3])(input)) second_branch = branch(Lambda(lambda x: x[:, :, :, 3:])(input)) if NORMALIZATION_ON: first_branch = Lambda(lambda x: K.l2_normalize(x, axis=1))(first_branch) second_branch = Lambda(lambda x: K.l2_normalize(x, axis=1))(second_branch) raw_result = concatenate([first_branch, second_branch]) output = _top_network(raw_result) # raw_result = dot([first_branch, second_branch], axes=1) # result = Lambda(lambda x: (K.clip(x, 0.5, 1) - 0.5) * 2.0)(raw_result) # negated_result = Lambda(lambda x: 1 - x)(result) # output = concatenate([negated_result, result]) return Model(inputs=input, outputs=output)
Example #4
Source File: resnet.py From SPTM with MIT License | 6 votes |
def build_pixel_comparison_network(input_shape): channels, height, width = input_shape input = Input(shape=(height, width, channels)) first = Flatten()(Lambda(lambda x: x[:, :, :, :1])(input)) second = Flatten()(Lambda(lambda x: x[:, :, :, 1:])(input)) # second = Lambda(lambda x: -x)(second) # difference = add([first, second]) # raw_result = Lambda(lambda x: K.mean(K.abs(x), axis=1, keepdims=True))(difference) # prob_zero = Lambda(lambda x: x / 255.0)(raw_result) # prob_one = Lambda(lambda x: 1.0 - x)(prob_zero) prob_one = dot([first, second], axes=1, normalize=True) prob_zero = Lambda(lambda x: 1.0 - x)(prob_one) output = concatenate([prob_zero, prob_one]) return Model(inputs=input, outputs=output)
Example #5
Source File: customlayers.py From convnets-keras with MIT License | 6 votes |
def crosschannelnormalization(alpha=1e-4, k=2, beta=0.75, n=5, **kwargs): """ This is the function used for cross channel normalization in the original Alexnet """ def f(X): b, ch, r, c = X.shape half = n // 2 square = K.square(X) extra_channels = K.spatial_2d_padding(K.permute_dimensions(square, (0, 2, 3, 1)) , (0, half)) extra_channels = K.permute_dimensions(extra_channels, (0, 3, 1, 2)) scale = k for i in range(n): scale += alpha * extra_channels[:, i:i + ch, :, :] scale = scale ** beta return X / scale return Lambda(f, output_shape=lambda input_shape: input_shape, **kwargs)
Example #6
Source File: customlayers.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def crosschannelnormalization(alpha = 1e-4, k=2, beta=0.75, n=5,**kwargs): """ This is the function used for cross channel normalization in the original Alexnet """ def f(X): b, ch, r, c = X.shape half = n // 2 square = K.square(X) extra_channels = K.spatial_2d_padding(K.permute_dimensions(square, (0,2,3,1)) , (0,half)) extra_channels = K.permute_dimensions(extra_channels, (0,3,1,2)) scale = k for i in range(n): scale += alpha * extra_channels[:,i:i+ch,:,:] scale = scale ** beta return X / scale return Lambda(f, output_shape=lambda input_shape:input_shape,**kwargs)
Example #7
Source File: GMF.py From neural_collaborative_filtering with Apache License 2.0 | 6 votes |
def get_model(num_users, num_items, latent_dim, regs=[0,0]): # Input variables user_input = Input(shape=(1,), dtype='int32', name = 'user_input') item_input = Input(shape=(1,), dtype='int32', name = 'item_input') MF_Embedding_User = Embedding(input_dim = num_users, output_dim = latent_dim, name = 'user_embedding', init = init_normal, W_regularizer = l2(regs[0]), input_length=1) MF_Embedding_Item = Embedding(input_dim = num_items, output_dim = latent_dim, name = 'item_embedding', init = init_normal, W_regularizer = l2(regs[1]), input_length=1) # Crucial to flatten an embedding vector! user_latent = Flatten()(MF_Embedding_User(user_input)) item_latent = Flatten()(MF_Embedding_Item(item_input)) # Element-wise product of user and item embeddings predict_vector = merge([user_latent, item_latent], mode = 'mul') # Final prediction layer #prediction = Lambda(lambda x: K.sigmoid(K.sum(x)), output_shape=(1,))(predict_vector) prediction = Dense(1, activation='sigmoid', init='lecun_uniform', name = 'prediction')(predict_vector) model = Model(input=[user_input, item_input], output=prediction) return model
Example #8
Source File: customlayers.py From cnn_evaluation_smoke with GNU General Public License v3.0 | 6 votes |
def splittensor(axis=1, ratio_split=1, id_split=0,**kwargs): def f(X): div = X.shape[axis] // ratio_split if axis == 0: output = X[id_split*div:(id_split+1)*div,:,:,:] elif axis == 1: output = X[:, id_split*div:(id_split+1)*div, :, :] elif axis == 2: output = X[:,:,id_split*div:(id_split+1)*div,:] elif axis == 3: output = X[:,:,:,id_split*div:(id_split+1)*div] else: raise ValueError("This axis is not possible") return output def g(input_shape): output_shape=list(input_shape) output_shape[axis] = output_shape[axis] // ratio_split return tuple(output_shape) return Lambda(f,output_shape=lambda input_shape:g(input_shape),**kwargs)
Example #9
Source File: customlayers.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def splittensor(axis=1, ratio_split=1, id_split=0,**kwargs): def f(X): div = X.shape[axis] // ratio_split if axis == 0: output = X[id_split*div:(id_split+1)*div,:,:,:] elif axis == 1: output = X[:, id_split*div:(id_split+1)*div, :, :] elif axis == 2: output = X[:,:,id_split*div:(id_split+1)*div,:] elif axis == 3: output == X[:,:,:,id_split*div:(id_split+1)*div] else: raise ValueError("This axis is not possible") return output def g(input_shape): output_shape=list(input_shape) output_shape[axis] = output_shape[axis] // ratio_split return tuple(output_shape) return Lambda(f,output_shape=lambda input_shape:g(input_shape),**kwargs)
Example #10
Source File: customlayers.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def crosschannelnormalization(alpha = 1e-4, k=2, beta=0.75, n=5,**kwargs): """ This is the function used for cross channel normalization in the original Alexnet """ def f(X): b, ch, r, c = X.shape half = n // 2 square = K.square(X) extra_channels = K.spatial_2d_padding(K.permute_dimensions(square, (0,2,3,1)) , (0,half)) extra_channels = K.permute_dimensions(extra_channels, (0,3,1,2)) scale = k for i in range(n): scale += alpha * extra_channels[:,i:i+ch,:,:] scale = scale ** beta return X / scale return Lambda(f, output_shape=lambda input_shape:input_shape,**kwargs)
Example #11
Source File: customlayers.py From deep-mil-for-whole-mammogram-classification with MIT License | 6 votes |
def splittensor(axis=1, ratio_split=1, id_split=0,**kwargs): def f(X): div = X.shape[axis] // ratio_split if axis == 0: output = X[id_split*div:(id_split+1)*div,:,:,:] elif axis == 1: output = X[:, id_split*div:(id_split+1)*div, :, :] elif axis == 2: output = X[:,:,id_split*div:(id_split+1)*div,:] elif axis == 3: output == X[:,:,:,id_split*div:(id_split+1)*div] else: raise ValueError("This axis is not possible") return output def g(input_shape): output_shape=list(input_shape) output_shape[axis] = output_shape[axis] // ratio_split return tuple(output_shape) return Lambda(f,output_shape=lambda input_shape:g(input_shape),**kwargs)
Example #12
Source File: adverse_models.py From nli_generation with MIT License | 6 votes |
def adverse_model(discriminator): train_input = Input(shape=(None,), dtype='int32') hypo_input = Input(shape=(None,), dtype='int32') def margin_opt(inputs): assert len(inputs) == 2, ('Margin Output needs ' '2 inputs, %d given' % len(inputs)) return K.log(inputs[0]) + K.log(1-inputs[1]) margin = Lambda(margin_opt, output_shape=(lambda s : (None, 1)))\ ([discriminator(train_input), discriminator(hypo_input)]) adverserial = Model([train_input, hypo_input], margin) adverserial.compile(loss=minimize, optimizer='adam') return adverserial
Example #13
Source File: train.py From chinese_ocr with Apache License 2.0 | 6 votes |
def get_model(img_h, nclass): input = Input(shape=(img_h, None, 1), name='the_input') y_pred = densenet.dense_cnn(input, nclass) basemodel = Model(inputs=input, outputs=y_pred) basemodel.summary() labels = Input(name='the_labels', shape=[None], dtype='float32') input_length = Input(name='input_length', shape=[1], dtype='int64') label_length = Input(name='label_length', shape=[1], dtype='int64') loss_out = Lambda(ctc_lambda_func, output_shape=(1,), name='ctc')([y_pred, labels, input_length, label_length]) model = Model(inputs=[input, labels, input_length, label_length], outputs=loss_out) model.compile(loss={'ctc': lambda y_true, y_pred: y_pred}, optimizer='adam', metrics=['accuracy']) return basemodel, model
Example #14
Source File: customlayers.py From cnn_evaluation_smoke with GNU General Public License v3.0 | 6 votes |
def crosschannelnormalization(alpha = 1e-4, k=2, beta=0.75, n=5,**kwargs): """ This is the function used for cross channel normalization in the original Alexnet """ def f(X): b, ch, r, c = X.shape half = n // 2 square = K.square(X) extra_channels = K.spatial_2d_padding(K.permute_dimensions(square, (0,2,3,1))) extra_channels = K.permute_dimensions(extra_channels, (0,3,1,2)) scale = k for i in range(n): scale += alpha * extra_channels[:,i:i+ch,:,:] scale = scale ** beta return X / scale return Lambda(f, output_shape=lambda input_shape:input_shape,**kwargs)
Example #15
Source File: motion_all_CNN2D_multiscale.py From CNNArt with Apache License 2.0 | 6 votes |
def createModel(patchSize, patchSize_down=None, ScaleFactor=1, learningRate=1e-3, optimizer='SGD', dr_rate=0.0, input_dr_rate=0.0, max_norm=5, iPReLU=0, l2_reg=1e-6): # Total params: 453,570 input_orig = Input(shape=(1, int(patchSize[0]), int(patchSize[1]))) path_orig_output = fConveBlock(input_orig) input_down = Input(shape=(1, int(patchSize_down[0]), int(patchSize_down[1]))) path_down = fConveBlock(input_down) path_down_output = fUpSample(path_down, ScaleFactor) multi_scale_connect = fconcatenate(path_orig_output, path_down_output) # fully connect layer as dense flat_out = Flatten()(multi_scale_connect) dropout_out = Dropout(dr_rate)(flat_out) dense_out = Dense(units=2, kernel_initializer='normal', kernel_regularizer=l2(l2_reg))(dropout_out) # Fully connected layer as convo with 1X1 ? output_fc1 = Activation('softmax')(dense_out) output_fc2 = Activation('softmax')(dense_out) output_p1 = Lambda(sliceP1,name='path1_output',output_shape=(None,2))(output_fc1) output_p2 = Lambda(sliceP2,name='path2_output',output_shape=(None,2))(output_fc2) cnn_ms = Model(inputs=[input_orig, input_down], outputs=[output_p1,output_p2]) return cnn_ms
Example #16
Source File: keras2_emitter.py From MMdnn with MIT License | 6 votes |
def emit_Slice(self, IR_node, in_scope=False): # It arouses some problems: # it can be implemented by Lambda Layer # https://github.com/keras-team/keras/issues/890 self.used_layers.add(IR_node.type) extra_str = "" if IR_node.get_attr('strides'): extra_str += "strides={}".format(IR_node.get_attr('strides')) if IR_node.get_attr('begin_mask'): extra_str += ", begin_mask={}".format(IR_node.get_attr('begin_mask')) if IR_node.get_attr('end_mask'): extra_str += ", end_mask={}".format(IR_node.get_attr('end_mask')) if IR_node.get_attr('shrink_axis_mask'): extra_str += ", shrink_axis_mask={}".format(IR_node.get_attr('shrink_axis_mask')) code = "{:<15} = __slice({}, {}, {}, {})".format( IR_node.variable_name, self.parent_variable_name(IR_node), IR_node.get_attr('starts'), IR_node.get_attr('ends'), extra_str) return code
Example #17
Source File: keras2_emitter.py From MMdnn with MIT License | 6 votes |
def _layer_Shape(self): self.add_body(0, ''' def __shape(input): return Lambda(lambda x: tf.shape(x))(input) ''') # def _layer_Constant(self): # self.add_body(0, ''' # class my_constant(keras.layers.Layer): # def __init__(self, value, **kwargs): # super(my_constant, self).__init__(**kwargs) # self._value = value # # the input is dummy, just for creating keras graph. # def call(self, dummy): # res = K.constant(self._value) # self.output_shapes = K.int_shape(res) # return res # def compute_output_shape(self, input_shape): # return self.output_shapes # ''')
Example #18
Source File: optimizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def _test_no_grad(optimizer): inp = Input([3]) x = Dense(10)(inp) x = Lambda(lambda l: 1.0 * K.reshape(K.cast(K.argmax(l), 'float32'), [-1, 1]))(x) mod = Model(inp, x) mod.compile(optimizer, 'mse') with pytest.raises(ValueError): mod.fit(np.zeros([10, 3]), np.zeros([10, 1], np.float32), batch_size=10, epochs=10)
Example #19
Source File: run.py From irf-segmenter with GNU General Public License v3.0 | 5 votes |
def make_parallel(model, gpu_count): def get_slice(data, idx, parts): shape = tf.shape(data) size = tf.concat(0, [ shape[:1] // parts, shape[1:] ]) stride = tf.concat(0, [ shape[:1] // parts, shape[1:]*0 ]) start = stride * idx return tf.slice(data, start, size) outputs_all = [] for i in range(len(model.outputs)): outputs_all.append([]) for i in range(gpu_count): with tf.device('/gpu:%d' % i): with tf.name_scope('tower_%d' % i) as scope: inputs = [] for x in model.inputs: input_shape = tuple(x.get_shape().as_list())[1:] slice_n = Lambda(get_slice, output_shape=input_shape, arguments={'idx':i,'parts':gpu_count})(x) inputs.append(slice_n) outputs = model(inputs) if not isinstance(outputs, list): outputs = [outputs] for l in range(len(outputs)): outputs_all[l].append(outputs[l]) with tf.device('/cpu:0'): return Model(input=model.inputs, output=outputs)
Example #20
Source File: simple_cnn.py From OCR-Handwritten-Text with Apache License 2.0 | 5 votes |
def OCR(): model = Sequential() model.add(Lambda(vgg_preprocess, input_shape=(3,32,32))) print ("in ocr") ConvBlock(2, model, 16) ConvBlock(2, model, 16) model.add(Flatten()) model.add(Dense(192, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(62, activation='softmax')) print ("outside OCR") return model
Example #21
Source File: generative_models.py From nli_generation with MIT License | 5 votes |
def baseline_train(noise_examples, hidden_size, noise_dim, glove, hypo_len, version): prem_input = Input(shape=(None,), dtype='int32', name='prem_input') hypo_input = Input(shape=(hypo_len + 1,), dtype='int32', name='hypo_input') noise_input = Input(shape=(1,), dtype='int32', name='noise_input') train_input = Input(shape=(None,), dtype='int32', name='train_input') class_input = Input(shape=(3,), name='class_input') concat_dim = hidden_size + noise_dim + 3 prem_embeddings = make_fixed_embeddings(glove, None)(prem_input) hypo_embeddings = make_fixed_embeddings(glove, hypo_len + 1)(hypo_input) premise_layer = LSTM(output_dim=hidden_size, return_sequences=False, inner_activation='sigmoid', name='premise')(prem_embeddings) noise_layer = Embedding(noise_examples, noise_dim, input_length = 1, name='noise_embeddings')(noise_input) flat_noise = Flatten(name='noise_flatten')(noise_layer) merged = merge([premise_layer, class_input, flat_noise], mode='concat') creative = Dense(concat_dim, name = 'cmerge')(merged) fake_merge = Lambda(lambda x:x[0], output_shape=lambda x:x[0])([hypo_embeddings, creative]) hypo_layer = FeedLSTM(output_dim=concat_dim, return_sequences=True, feed_layer = creative, inner_activation='sigmoid', name='attention')([fake_merge]) hs = HierarchicalSoftmax(len(glove), trainable = True, name='hs')([hypo_layer, train_input]) inputs = [prem_input, hypo_input, noise_input, train_input, class_input] model_name = 'version' + str(version) model = Model(input=inputs, output=hs, name = model_name) model.compile(loss=hs_categorical_crossentropy, optimizer='adam') return model
Example #22
Source File: multi_gpu.py From keras-extras with Apache License 2.0 | 5 votes |
def make_parallel(model, gpu_count): def get_slice(data, idx, parts): shape = tf.shape(data) size = tf.concat([ shape[:1] // parts, shape[1:] ],axis=0) stride = tf.concat([ shape[:1] // parts, shape[1:]*0 ],axis=0) start = stride * idx return tf.slice(data, start, size) outputs_all = [] for i in range(len(model.outputs)): outputs_all.append([]) #Place a copy of the model on each GPU, each getting a slice of the batch for i in range(gpu_count): with tf.device('/gpu:%d' % i): with tf.name_scope('tower_%d' % i) as scope: inputs = [] #Slice each input into a piece for processing on this GPU for x in model.inputs: input_shape = tuple(x.get_shape().as_list())[1:] slice_n = Lambda(get_slice, output_shape=input_shape, arguments={'idx':i,'parts':gpu_count})(x) inputs.append(slice_n) outputs = model(inputs) if not isinstance(outputs, list): outputs = [outputs] #Save all the outputs for merging back together later for l in range(len(outputs)): outputs_all[l].append(outputs[l]) # merge outputs on CPU with tf.device('/cpu:0'): merged = [] for outputs in outputs_all: merged.append(merge(outputs, mode='concat', concat_axis=0)) return Model(input=model.inputs, output=merged)
Example #23
Source File: model.py From keras-steering-angle-visualizations with MIT License | 5 votes |
def steering_net(): model = Sequential() model.add(Convolution2D(24, 5, 5, init = normal_init, subsample= (2, 2), name='conv1_1', input_shape=(66, 200, 3))) model.add(Activation('relu')) model.add(Convolution2D(36, 5, 5, init = normal_init, subsample= (2, 2), name='conv2_1')) model.add(Activation('relu')) model.add(Convolution2D(48, 5, 5, init = normal_init, subsample= (2, 2), name='conv3_1')) model.add(Activation('relu')) model.add(Convolution2D(64, 3, 3, init = normal_init, subsample= (1, 1), name='conv4_1')) model.add(Activation('relu')) model.add(Convolution2D(64, 3, 3, init = normal_init, subsample= (1, 1), name='conv4_2')) model.add(Activation('relu')) model.add(Flatten()) model.add(Dense(1164, init = normal_init, name = "dense_0")) model.add(Activation('relu')) #model.add(Dropout(p)) model.add(Dense(100, init = normal_init, name = "dense_1")) model.add(Activation('relu')) #model.add(Dropout(p)) model.add(Dense(50, init = normal_init, name = "dense_2")) model.add(Activation('relu')) #model.add(Dropout(p)) model.add(Dense(10, init = normal_init, name = "dense_3")) model.add(Activation('relu')) model.add(Dense(1, init = normal_init, name = "dense_4")) model.add(Lambda(atan_layer, output_shape = atan_layer_shape, name = "atan_0")) return model
Example #24
Source File: resnext-checkpoint.py From CBAM-keras with MIT License | 5 votes |
def __grouped_convolution_block(input, grouped_channels, cardinality, strides, weight_decay=5e-4): ''' Adds a grouped convolution block. It is an equivalent block from the paper Args: input: input tensor grouped_channels: grouped number of filters cardinality: cardinality factor describing the number of groups strides: performs strided convolution for downscaling if > 1 weight_decay: weight decay term Returns: a keras tensor ''' init = input channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 group_list = [] if cardinality == 1: # with cardinality 1, it is a standard convolution x = Conv2D(grouped_channels, (3, 3), padding='same', use_bias=False, strides=(strides, strides), kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay))(init) x = BatchNormalization(axis=channel_axis)(x) x = LeakyReLU()(x) return x for c in range(cardinality): x = Lambda(lambda z: z[:, :, :, c * grouped_channels:(c + 1) * grouped_channels] if K.image_data_format() == 'channels_last' else lambda z: z[:, c * grouped_channels:(c + 1) * grouped_channels, :, :])(input) x = Conv2D(grouped_channels, (3, 3), padding='same', use_bias=False, strides=(strides, strides), kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay))(x) group_list.append(x) group_merge = concatenate(group_list, axis=channel_axis) x = BatchNormalization(axis=channel_axis)(group_merge) x = LeakyReLU()(x) return x
Example #25
Source File: resnext.py From CBAM-keras with MIT License | 5 votes |
def __grouped_convolution_block(input, grouped_channels, cardinality, strides, weight_decay=5e-4): ''' Adds a grouped convolution block. It is an equivalent block from the paper Args: input: input tensor grouped_channels: grouped number of filters cardinality: cardinality factor describing the number of groups strides: performs strided convolution for downscaling if > 1 weight_decay: weight decay term Returns: a keras tensor ''' init = input channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 group_list = [] if cardinality == 1: # with cardinality 1, it is a standard convolution x = Conv2D(grouped_channels, (3, 3), padding='same', use_bias=False, strides=(strides, strides), kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay))(init) x = BatchNormalization(axis=channel_axis)(x) x = LeakyReLU()(x) return x for c in range(cardinality): x = Lambda(lambda z: z[:, :, :, c * grouped_channels:(c + 1) * grouped_channels] if K.image_data_format() == 'channels_last' else lambda z: z[:, c * grouped_channels:(c + 1) * grouped_channels, :, :])(input) x = Conv2D(grouped_channels, (3, 3), padding='same', use_bias=False, strides=(strides, strides), kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay))(x) group_list.append(x) group_merge = concatenate(group_list, axis=channel_axis) x = BatchNormalization(axis=channel_axis)(group_merge) x = LeakyReLU()(x) return x
Example #26
Source File: resnet.py From Hands-On-Generative-Adversarial-Networks-with-Keras with MIT License | 5 votes |
def MeanPoolConv(x, n_filters): x = Conv2D(filters=n_filters, kernel_size=(1, 1), strides=1, padding='same', kernel_initializer=weight_init)(x) x = Lambda(lambda v: (v[:, ::2, ::2, :] + v[:, 1::2, ::2, :] + v[:, ::2, 1::2, :] + v[:, 1::2, 1::2, :]) / 4.)(x) return x
Example #27
Source File: keras2_emitter.py From MMdnn with MIT License | 5 votes |
def _layer_Unstack(self): self.add_body(0, ''' def __unstack(input, num, axis): return Lambda(lambda x: tf.unstack(x, num, axis))(input) ''')
Example #28
Source File: keras2_emitter.py From MMdnn with MIT License | 5 votes |
def _layer_Slice(self): self.add_body(0, ''' def __slice(input, start, end, **kargs): return Lambda(lambda x: tf.strided_slice(x, start, end, **kargs))(input) ''')
Example #29
Source File: resnet.py From Hands-On-Generative-Adversarial-Networks-with-Keras with MIT License | 5 votes |
def ConvMeanPool(x, n_filters, kernel_size): x = Conv2D(filters=n_filters, kernel_size=kernel_size, strides=1, padding='same', kernel_initializer=weight_init)(x) x = Lambda(lambda v: (v[:, ::2, ::2, :] + v[:, 1::2, ::2, :] + v[:, ::2, 1::2, :] + v[:, 1::2, 1::2, :]) / 4.)(x) return x
Example #30
Source File: optimizers_test.py From DeepLearning_Wavelet-LSTM with MIT License | 5 votes |
def _test_no_grad(optimizer): inp = Input([3]) x = Dense(10)(inp) x = Lambda(lambda l: 1.0 * K.reshape(K.cast(K.argmax(l), 'float32'), [-1, 1]))(x) mod = Model(inp, x) mod.compile(optimizer, 'mse') with pytest.raises(ValueError): mod.fit(np.zeros([10, 3]), np.zeros([10, 1], np.float32), batch_size=10, epochs=10)