Python keras.layers.merge.concatenate() Examples
The following are 30
code examples of keras.layers.merge.concatenate().
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.merge
, or try the search function
.
Example #1
Source File: nets.py From fast-neural-style-keras with Apache License 2.0 | 6 votes |
def loss_net(x_in, trux_x_in,width, height,style_image_path,content_weight,style_weight): # Append the initial input to the FastNet input to the VGG inputs x = concatenate([x_in, trux_x_in], axis=0) # Normalize the inputs via custom VGG Normalization layer x = VGGNormalize(name="vgg_normalize")(x) vgg = VGG16(include_top=False,input_tensor=x) vgg_output_dict = dict([(layer.name, layer.output) for layer in vgg.layers[-18:]]) vgg_layers = dict([(layer.name, layer) for layer in vgg.layers[-18:]]) if style_weight > 0: add_style_loss(vgg,style_image_path , vgg_layers, vgg_output_dict, width, height,style_weight) if content_weight > 0: add_content_loss(vgg_layers,vgg_output_dict,content_weight) # Freeze all VGG layers for layer in vgg.layers[-19:]: layer.trainable = False return vgg
Example #2
Source File: hypertree_model.py From costar_plan with Apache License 2.0 | 6 votes |
def concat_images_with_tiled_vector(images, vector): """Combine a set of images with a vector, tiling the vector at each pixel in the images and concatenating on the channel axis. # Params images: list of images with the same dimensions vector: vector to tile on each image. If you have more than one vector, simply concatenate them all before calling this function. # Returns """ with K.name_scope('concat_images_with_tiled_vector'): if not isinstance(images, list): images = [images] image_shape = K.int_shape(images[0]) tiled_vector = tile_vector_as_image_channels(vector, image_shape) images.append(tiled_vector) combined = K.concatenate(images) return combined
Example #3
Source File: inception_v4.py From keras-inceptionV4 with Apache License 2.0 | 6 votes |
def block_inception_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 96, 1, 1) branch_1 = conv2d_bn(input, 64, 1, 1) branch_1 = conv2d_bn(branch_1, 96, 3, 3) branch_2 = conv2d_bn(input, 64, 1, 1) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_3 = AveragePooling2D((3,3), strides=(1,1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 96, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #4
Source File: inception_v4.py From keras-inceptionV4 with Apache License 2.0 | 6 votes |
def block_reduction_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 3, 3, strides=(2,2), padding='valid') branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 3, 3) branch_1 = conv2d_bn(branch_1, 256, 3, 3, strides=(2,2), padding='valid') branch_2 = MaxPooling2D((3,3), strides=(2,2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #5
Source File: inception_v4.py From keras-inceptionV4 with Apache License 2.0 | 6 votes |
def block_inception_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 1, 1) branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 1, 7) branch_1 = conv2d_bn(branch_1, 256, 7, 1) branch_2 = conv2d_bn(input, 192, 1, 1) branch_2 = conv2d_bn(branch_2, 192, 7, 1) branch_2 = conv2d_bn(branch_2, 224, 1, 7) branch_2 = conv2d_bn(branch_2, 224, 7, 1) branch_2 = conv2d_bn(branch_2, 256, 1, 7) branch_3 = AveragePooling2D((3,3), strides=(1,1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 128, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #6
Source File: inception_v4.py From keras-inceptionV4 with Apache License 2.0 | 6 votes |
def block_reduction_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 192, 1, 1) branch_0 = conv2d_bn(branch_0, 192, 3, 3, strides=(2, 2), padding='valid') branch_1 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(branch_1, 256, 1, 7) branch_1 = conv2d_bn(branch_1, 320, 7, 1) branch_1 = conv2d_bn(branch_1, 320, 3, 3, strides=(2,2), padding='valid') branch_2 = MaxPooling2D((3, 3), strides=(2, 2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #7
Source File: bi_lstm_att.py From nlp_toolkit with MIT License | 6 votes |
def forward(self): model_input = Input(shape=(self.maxlen,), dtype='int32', name='token') x = Token_Embedding(model_input, self.nb_tokens, self.embedding_dim, self.token_embeddings, True, self.maxlen, self.embed_dropout_rate, name='token_embeddings') x = Activation('tanh')(x) # skip-connection from embedding to output eases gradient-flow and allows access to lower-level features # ordering of the way the merge is done is important for consistency with the pretrained model lstm_0_output = Bidirectional( LSTM(self.rnn_size, return_sequences=True), name="bi_lstm_0")(x) lstm_1_output = Bidirectional( LSTM(self.rnn_size, return_sequences=True), name="bi_lstm_1")(lstm_0_output) x = concatenate([lstm_1_output, lstm_0_output, x], name='concatenate') x = self.attention_layer(x) if self.return_attention: x, weights = x outputs = tc_output_logits(x, self.nb_classes, self.final_dropout_rate) if self.return_attention: outputs.append(weights) outputs = concatenate(outputs, axis=-1, name='outputs') self.model = Model(inputs=model_input, outputs=outputs, name="Bi_LSTM_Attention")
Example #8
Source File: text_cnn.py From nlp_toolkit with MIT License | 6 votes |
def forward(self): model_input = Input(shape=(self.maxlen,), dtype='int32', name='token') x = Token_Embedding(model_input, self.nb_tokens, self.embedding_dim, self.token_embeddings, False, self.maxlen, self.embed_dropout_rate, name='token_embeddings') cnn_combine = [] for i in range(len(self.conv_kernel_size)): cnn = self.cnn_list[i](x) pool = self.pool_list[i](cnn) cnn_combine.append(pool) x = concatenate(cnn_combine, axis=-1) x = Flatten()(x) x = Dropout(self.final_dropout_rate)(x) x = self.fc(x) outputs = tc_output_logits(x, self.nb_classes, self.final_dropout_rate) self.model = Model(inputs=model_input, outputs=outputs, name="TextCNN")
Example #9
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 6 votes |
def block_reduction_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 192, 1, 1) branch_0 = conv2d_bn(branch_0, 192, 3, 3, strides=(2, 2), padding='valid') branch_1 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(branch_1, 256, 1, 7) branch_1 = conv2d_bn(branch_1, 320, 7, 1) branch_1 = conv2d_bn(branch_1, 320, 3, 3, strides=(2,2), padding='valid') branch_2 = MaxPooling2D((3, 3), strides=(2, 2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #10
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 6 votes |
def block_inception_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 1, 1) branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 1, 7) branch_1 = conv2d_bn(branch_1, 256, 7, 1) branch_2 = conv2d_bn(input, 192, 1, 1) branch_2 = conv2d_bn(branch_2, 192, 7, 1) branch_2 = conv2d_bn(branch_2, 224, 1, 7) branch_2 = conv2d_bn(branch_2, 224, 7, 1) branch_2 = conv2d_bn(branch_2, 256, 1, 7) branch_3 = AveragePooling2D((3,3), strides=(1,1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 128, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #11
Source File: inception_v4.py From Triplet-deep-hash-pytorch with Apache License 2.0 | 6 votes |
def block_inception_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 96, 1, 1) branch_1 = conv2d_bn(input, 64, 1, 1) branch_1 = conv2d_bn(branch_1, 96, 3, 3) branch_2 = conv2d_bn(input, 64, 1, 1) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_3 = AveragePooling2D((3, 3), strides=(1, 1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 96, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #12
Source File: inception_v4.py From Triplet-deep-hash-pytorch with Apache License 2.0 | 6 votes |
def block_inception_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 1, 1) branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 1, 7) branch_1 = conv2d_bn(branch_1, 256, 7, 1) branch_2 = conv2d_bn(input, 192, 1, 1) branch_2 = conv2d_bn(branch_2, 192, 7, 1) branch_2 = conv2d_bn(branch_2, 224, 1, 7) branch_2 = conv2d_bn(branch_2, 224, 7, 1) branch_2 = conv2d_bn(branch_2, 256, 1, 7) branch_3 = AveragePooling2D((3, 3), strides=(1, 1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 128, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #13
Source File: keras_yolo.py From object-detection with MIT License | 6 votes |
def yolo_body(inputs, num_anchors, num_classes): """Create YOLO_V2 model CNN body in Keras.""" darknet = Model(inputs, darknet_body()(inputs)) conv20 = compose( DarknetConv2D_BN_Leaky(1024, (3, 3)), DarknetConv2D_BN_Leaky(1024, (3, 3)))(darknet.output) conv13 = darknet.layers[43].output conv21 = DarknetConv2D_BN_Leaky(64, (1, 1))(conv13) # TODO: Allow Keras Lambda to use func arguments for output_shape? conv21_reshaped = Lambda( space_to_depth_x2, output_shape=space_to_depth_x2_output_shape, name='space_to_depth')(conv21) x = concatenate([conv21_reshaped, conv20]) x = DarknetConv2D_BN_Leaky(1024, (3, 3))(x) x = DarknetConv2D(num_anchors * (num_classes + 5), (1, 1))(x) return Model(inputs, x)
Example #14
Source File: inception_v4.py From Triplet-deep-hash-pytorch with Apache License 2.0 | 6 votes |
def block_reduction_b(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 192, 1, 1) branch_0 = conv2d_bn(branch_0, 192, 3, 3, strides=(2, 2), padding='valid') branch_1 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(branch_1, 256, 1, 7) branch_1 = conv2d_bn(branch_1, 320, 7, 1) branch_1 = conv2d_bn(branch_1, 320, 3, 3, strides=(2, 2), padding='valid') branch_2 = MaxPooling2D((3, 3), strides=(2, 2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #15
Source File: inception_v4.py From Triplet-deep-hash-pytorch with Apache License 2.0 | 6 votes |
def block_inception_c(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(input, 384, 1, 1) branch_10 = conv2d_bn(branch_1, 256, 1, 3) branch_11 = conv2d_bn(branch_1, 256, 3, 1) branch_1 = concatenate([branch_10, branch_11], axis=channel_axis) branch_2 = conv2d_bn(input, 384, 1, 1) branch_2 = conv2d_bn(branch_2, 448, 3, 1) branch_2 = conv2d_bn(branch_2, 512, 1, 3) branch_20 = conv2d_bn(branch_2, 256, 1, 3) branch_21 = conv2d_bn(branch_2, 256, 3, 1) branch_2 = concatenate([branch_20, branch_21], axis=channel_axis) branch_3 = AveragePooling2D((3, 3), strides=(1, 1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 256, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #16
Source File: inception_v4.py From Triplet-deep-hash-pytorch with Apache License 2.0 | 6 votes |
def block_reduction_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 3, 3, strides=(2, 2), padding='valid') branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 3, 3) branch_1 = conv2d_bn(branch_1, 256, 3, 3, strides=(2, 2), padding='valid') branch_2 = MaxPooling2D((3, 3), strides=(2, 2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #17
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 6 votes |
def block_reduction_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 384, 3, 3, strides=(2,2), padding='valid') branch_1 = conv2d_bn(input, 192, 1, 1) branch_1 = conv2d_bn(branch_1, 224, 3, 3) branch_1 = conv2d_bn(branch_1, 256, 3, 3, strides=(2,2), padding='valid') branch_2 = MaxPooling2D((3,3), strides=(2,2), padding='valid')(input) x = concatenate([branch_0, branch_1, branch_2], axis=channel_axis) return x
Example #18
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 6 votes |
def block_inception_a(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 96, 1, 1) branch_1 = conv2d_bn(input, 64, 1, 1) branch_1 = conv2d_bn(branch_1, 96, 3, 3) branch_2 = conv2d_bn(input, 64, 1, 1) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_2 = conv2d_bn(branch_2, 96, 3, 3) branch_3 = AveragePooling2D((3,3), strides=(1,1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 96, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #19
Source File: utils.py From CIKM-AnalytiCup-2018 with Apache License 2.0 | 5 votes |
def interaction(input_1, input_2): "Get the interaction then concatenate results" mult = Multiply()([input_1, input_2]) add = Add()([input_1, input_2]) sub = substract(input_1, input_2) #distance = el_distance(input_1, input_2) out_= Concatenate()([sub, mult, add,]) return out_
Example #20
Source File: cnn.py From keras-english-resume-parser-and-analyzer with MIT License | 5 votes |
def define_model(self, length, vocab_size): embedding_size = 100 cnn_filter_size = 32 inputs1 = Input(shape=(length,)) embedding1 = Embedding(vocab_size, embedding_size)(inputs1) conv1 = Conv1D(filters=cnn_filter_size, kernel_size=4, activation='relu')( embedding1) drop1 = Dropout(0.5)(conv1) pool1 = MaxPooling1D(pool_size=2)(drop1) flat1 = Flatten()(pool1) inputs2 = Input(shape=(length,)) embedding2 = Embedding(vocab_size, embedding_size)(inputs2) conv2 = Conv1D(filters=cnn_filter_size, kernel_size=6, activation='relu')( embedding2) drop2 = Dropout(0.5)(conv2) pool2 = MaxPooling1D(pool_size=2)(drop2) flat2 = Flatten()(pool2) inputs3 = Input(shape=(length,)) embedding3 = Embedding(vocab_size, embedding_size)(inputs3) conv3 = Conv1D(filters=cnn_filter_size, kernel_size=8, activation='relu')( embedding3) drop3 = Dropout(0.5)(conv3) pool3 = MaxPooling1D(pool_size=2)(drop3) flat3 = Flatten()(pool3) merged = concatenate([flat1, flat2, flat3]) # interpretation dense1 = Dense(10, activation='relu')(merged) outputs = Dense(units=len(self.labels), activation='softmax')(dense1) model = Model(inputs=[inputs1, inputs2, inputs3], outputs=outputs) # compile model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) # summarize print(model.summary()) return model
Example #21
Source File: cpg.py From deepcpg with MIT License | 5 votes |
def _merge_inputs(self, inputs): return concatenate(inputs, axis=2)
Example #22
Source File: KerasDDPGAgent.py From bullet-gym with MIT License | 5 votes |
def configure(self, observation_space_shape, nb_actions): # Next, we build a simple model. # actor network actor = Sequential() actor.add(Flatten(input_shape=(1,) + observation_space_shape)) actor.add(Dense(16)) actor.add(Activation('relu')) actor.add(Dense(16)) actor.add(Activation('relu')) actor.add(Dense(16)) actor.add(Activation('relu')) actor.add(Dense(nb_actions)) actor.add(Activation('linear')) print(actor.summary()) # critic network action_input = Input(shape=(nb_actions,), name='action_input') observation_input = Input(shape=(1,) + observation_space_shape, name='observation_input') flattened_observation = Flatten()(observation_input) x = concatenate([action_input, flattened_observation]) x = Dense(32)(x) x = Activation('relu')(x) x = Dense(32)(x) x = Activation('relu')(x) x = Dense(32)(x) x = Activation('relu')(x) x = Dense(1)(x) x = Activation('linear')(x) critic = Model(input=[action_input, observation_input], output=x) print(critic.summary()) # Finally, we configure and compile our agent. You can use every built-in Keras optimizer and # even the metrics! memory = SequentialMemory(limit=100000, window_length=1) random_process = OrnsteinUhlenbeckProcess(size=nb_actions, theta=.15, mu=0., sigma=.3) self.agent = DDPGAgent(nb_actions=nb_actions, actor=actor, critic=critic, critic_action_input=action_input, memory=memory, nb_steps_warmup_critic=100, nb_steps_warmup_actor=100, random_process=random_process, gamma=.99, target_model_update=1e-3) self.agent.compile(Adam(lr=.001, clipnorm=1.), metrics=['mae'])
Example #23
Source File: joint.py From deepcpg with MIT License | 5 votes |
def _build(self, models, layers=[]): for layer in layers: layer.name = '%s/%s' % (self.scope, layer.name) inputs, outputs = self._get_inputs_outputs(models) x = concatenate(outputs) for layer in layers: x = layer(x) model = km.Model(inputs, x, name=self.name) return model
Example #24
Source File: inception_v4.py From keras-inceptionV4 with Apache License 2.0 | 5 votes |
def block_inception_c(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(input, 384, 1, 1) branch_10 = conv2d_bn(branch_1, 256, 1, 3) branch_11 = conv2d_bn(branch_1, 256, 3, 1) branch_1 = concatenate([branch_10, branch_11], axis=channel_axis) branch_2 = conv2d_bn(input, 384, 1, 1) branch_2 = conv2d_bn(branch_2, 448, 3, 1) branch_2 = conv2d_bn(branch_2, 512, 1, 3) branch_20 = conv2d_bn(branch_2, 256, 1, 3) branch_21 = conv2d_bn(branch_2, 256, 3, 1) branch_2 = concatenate([branch_20, branch_21], axis=channel_axis) branch_3 = AveragePooling2D((3, 3), strides=(1, 1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 256, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x
Example #25
Source File: densenet_1.py From keras-onnx with MIT License | 5 votes |
def __dense_block(x, nb_layers, nb_filter, growth_rate, bottleneck=False, dropout_rate=None, weight_decay=1e-4, grow_nb_filters=True, return_concat_list=False): ''' Build a dense_block where the output of each conv_block is fed to subsequent ones Args: x: keras tensor nb_layers: the number of layers of conv_block to append to the model. nb_filter: number of filters growth_rate: growth rate bottleneck: bottleneck block dropout_rate: dropout rate weight_decay: weight decay factor grow_nb_filters: flag to decide to allow number of filters to grow return_concat_list: return the list of feature maps along with the actual output Returns: keras tensor with nb_layers of conv_block appended ''' concat_axis = 1 if K.image_data_format() == 'channels_first' else -1 x_list = [x] for i in range(nb_layers): cb = __conv_block(x, growth_rate, bottleneck, dropout_rate, weight_decay) x_list.append(cb) x = concatenate([x, cb], axis=concat_axis) if grow_nb_filters: nb_filter += growth_rate if return_concat_list: return x, nb_filter, x_list else: return x, nb_filter
Example #26
Source File: test.py From MRI-tumor-segmentation-Brats with MIT License | 5 votes |
def dense_model(patch_size, num_classes): merged_inputs = Input(shape=patch_size + (4,), name='merged_inputs') flair = Reshape(patch_size + (1,))( Lambda( lambda l: l[:, :, :, :, 0], output_shape=patch_size + (1,))(merged_inputs), ) t2 = Reshape(patch_size + (1,))( Lambda(lambda l: l[:, :, :, :, 1], output_shape=patch_size + (1,))(merged_inputs) ) t1 = Lambda(lambda l: l[:, :, :, :, 2:], output_shape=patch_size + (2,))(merged_inputs) flair = dense_net(flair) t2 = dense_net(t2) t1 = dense_net(t1) t2 = concatenate([flair, t2]) t1 = concatenate([t2, t1]) tumor = Conv3D(2, kernel_size=1, strides=1, name='tumor')(flair) core = Conv3D(3, kernel_size=1, strides=1, name='core')(t2) enhancing = Conv3D(num_classes, kernel_size=1, strides=1, name='enhancing')(t1) net = Model(inputs=merged_inputs, outputs=[tumor, core, enhancing]) return net
Example #27
Source File: cnn_models_3d.py From spinalcordtoolbox with MIT License | 5 votes |
def nn_architecture_seg_3d(input_shape, pool_size=(2, 2, 2), n_labels=1, initial_learning_rate=0.00001, depth=3, n_base_filters=16, metrics=dice_coefficient, batch_normalization=True): inputs = Input(input_shape) current_layer = inputs levels = list() for layer_depth in range(depth): layer1 = create_convolution_block(input_layer=current_layer, n_filters=n_base_filters * (2**layer_depth), batch_normalization=batch_normalization) layer2 = create_convolution_block(input_layer=layer1, n_filters=n_base_filters * (2**layer_depth) * 2, batch_normalization=batch_normalization) if layer_depth < depth - 1: current_layer = MaxPooling3D(pool_size=pool_size)(layer2) levels.append([layer1, layer2, current_layer]) else: current_layer = layer2 levels.append([layer1, layer2]) for layer_depth in range(depth - 2, -1, -1): up_convolution = UpSampling3D(size=pool_size) concat = concatenate([up_convolution, levels[layer_depth][1]], axis=1) current_layer = create_convolution_block(n_filters=levels[layer_depth][1]._keras_shape[1], input_layer=concat, batch_normalization=batch_normalization) current_layer = create_convolution_block(n_filters=levels[layer_depth][1]._keras_shape[1], input_layer=current_layer, batch_normalization=batch_normalization) final_convolution = Conv3D(n_labels, (1, 1, 1))(current_layer) act = Activation('sigmoid')(final_convolution) model = Model(inputs=inputs, outputs=act) if not isinstance(metrics, list): metrics = [metrics] model.compile(optimizer=Adam(lr=initial_learning_rate), loss=dice_coefficient_loss, metrics=metrics) return model
Example #28
Source File: model.py From parapred with MIT License | 5 votes |
def ab_ag_seq_model(max_ag_len, max_cdr_len): input_ag = Input(shape=(max_ag_len, NUM_FEATURES)) ag_seq = Masking()(input_ag) enc_ag = Bidirectional(LSTM(128, dropout=0.1, recurrent_dropout=0.1), merge_mode='concat')(ag_seq) input_ab = Input(shape=(max_cdr_len, NUM_FEATURES)) label_mask = Input(shape=(max_cdr_len,)) seq = Masking()(input_ab) loc_fts = MaskedConvolution1D(64, 5, padding='same', activation='elu')(seq) glb_fts = Bidirectional(LSTM(256, dropout=0.15, recurrent_dropout=0.2, return_sequences=True), merge_mode='concat')(loc_fts) enc_ag_rep = RepeatVector(max_cdr_len)(enc_ag) ab_ag_repr = concatenate([glb_fts, enc_ag_rep]) ab_ag_repr = MaskingByLambda(mask_by_input(label_mask))(ab_ag_repr) ab_ag_repr = Dropout(0.3)(ab_ag_repr) aa_probs = TimeDistributed(Dense(1, activation='sigmoid'))(ab_ag_repr) model = Model(inputs=[input_ag, input_ab, label_mask], outputs=aa_probs) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['binary_accuracy', false_pos, false_neg], sample_weight_mode="temporal") return model
Example #29
Source File: motion_all_CNN2D_multiscale.py From CNNArt with Apache License 2.0 | 5 votes |
def fconcatenate(path_orig, path_down): if path_orig._keras_shape==path_down._keras_shape: path_down_cropped = path_down else: crop_x_1 = int(np.ceil((path_down._keras_shape[2]-path_orig._keras_shape[2])/2)) crop_x_0 = path_down._keras_shape[2]-path_orig._keras_shape[2] - crop_x_1 crop_y_1 = int(np.ceil((path_down._keras_shape[3]-path_orig._keras_shape[3])/2)) crop_y_0 = path_down._keras_shape[3]-path_orig._keras_shape[3] - crop_y_1 path_down_cropped = Cropping2D(cropping=((crop_x_0,crop_x_1),(crop_y_0,crop_y_1)))(path_down) connected = concatenate([path_orig,path_down_cropped],axis=0) return connected
Example #30
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 5 votes |
def block_inception_c(input): if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 branch_0 = conv2d_bn(input, 256, 1, 1) branch_1 = conv2d_bn(input, 384, 1, 1) branch_10 = conv2d_bn(branch_1, 256, 1, 3) branch_11 = conv2d_bn(branch_1, 256, 3, 1) branch_1 = concatenate([branch_10, branch_11], axis=channel_axis) branch_2 = conv2d_bn(input, 384, 1, 1) branch_2 = conv2d_bn(branch_2, 448, 3, 1) branch_2 = conv2d_bn(branch_2, 512, 1, 3) branch_20 = conv2d_bn(branch_2, 256, 1, 3) branch_21 = conv2d_bn(branch_2, 256, 3, 1) branch_2 = concatenate([branch_20, branch_21], axis=channel_axis) branch_3 = AveragePooling2D((3, 3), strides=(1, 1), padding='same')(input) branch_3 = conv2d_bn(branch_3, 256, 1, 1) x = concatenate([branch_0, branch_1, branch_2, branch_3], axis=channel_axis) return x