Python keras.layers.AveragePooling3D() Examples
The following are 13
code examples of keras.layers.AveragePooling3D().
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
, or try the search function
.
Example #1
Source File: densely_connected_cnn_blocks.py From CNNArt with Apache License 2.0 | 6 votes |
def transition_layer_3D(input_tensor, numFilters, compressionFactor=1.0): numOutPutFilters = int(numFilters*compressionFactor) if K.image_data_format() == 'channels_last': bn_axis = -1 else: bn_axis = 1 x = BatchNormalization(axis=bn_axis)(input_tensor) x = Activation('relu')(x) x = Conv3D(numOutPutFilters, (1, 1, 1), strides=(1, 1, 1), padding='same', kernel_initializer='he_normal')(x) # downsampling x = AveragePooling3D((2, 2, 2), strides=(2, 2, 2), padding='valid', data_format='channels_last', name='')(x) return x, numOutPutFilters
Example #2
Source File: densely_connected_cnn_blocks.py From CNNArt with Apache License 2.0 | 6 votes |
def transition_SE_layer_3D(input_tensor, numFilters, compressionFactor=1.0, se_ratio=16): numOutPutFilters = int(numFilters*compressionFactor) if K.image_data_format() == 'channels_last': bn_axis = -1 else: bn_axis = 1 x = BatchNormalization(axis=bn_axis)(input_tensor) x = Activation('relu')(x) x = Conv3D(numOutPutFilters, (1, 1, 1), strides=(1, 1, 1), padding='same', kernel_initializer='he_normal')(x) # SE Block x = squeeze_excitation_block_3D(x, ratio=se_ratio) #x = BatchNormalization(axis=bn_axis)(x) # downsampling x = AveragePooling3D((2, 2, 2), strides=(2, 2, 2), padding='valid', data_format='channels_last', name='')(x) #x = squeeze_excitation_block(x, ratio=se_ratio) return x, numOutPutFilters
Example #3
Source File: densely_connected_cnn_blocks.py From CNNArt with Apache License 2.0 | 6 votes |
def transition_layer_3D(input_tensor, numFilters, compressionFactor=1.0): numOutPutFilters = int(numFilters*compressionFactor) if K.image_data_format() == 'channels_last': bn_axis = -1 else: bn_axis = 1 x = BatchNormalization(axis=bn_axis)(input_tensor) x = Activation('relu')(x) x = Conv3D(numOutPutFilters, (1, 1, 1), strides=(1, 1, 1), padding='same', kernel_initializer='he_normal')(x) # downsampling x = AveragePooling3D((2, 2, 2), strides=(2, 2, 2), padding='valid', data_format='channels_last', name='')(x) return x, numOutPutFilters
Example #4
Source File: densely_connected_cnn_blocks.py From CNNArt with Apache License 2.0 | 6 votes |
def transition_SE_layer_3D(input_tensor, numFilters, compressionFactor=1.0, se_ratio=16): numOutPutFilters = int(numFilters*compressionFactor) if K.image_data_format() == 'channels_last': bn_axis = -1 else: bn_axis = 1 x = BatchNormalization(axis=bn_axis)(input_tensor) x = Activation('relu')(x) x = Conv3D(numOutPutFilters, (1, 1, 1), strides=(1, 1, 1), padding='same', kernel_initializer='he_normal')(x) # SE Block x = squeeze_excitation_block_3D(x, ratio=se_ratio) #x = BatchNormalization(axis=bn_axis)(x) # downsampling x = AveragePooling3D((2, 2, 2), strides=(2, 2, 2), padding='valid', data_format='channels_last', name='')(x) #x = squeeze_excitation_block(x, ratio=se_ratio) return x, numOutPutFilters
Example #5
Source File: subdivide.py From aitom with GNU General Public License v3.0 | 5 votes |
def inception3D(image_size, num_labels): num_channels=1 inputs = Input(shape = (image_size, image_size, image_size, num_channels)) m = Convolution3D(32, 5, 5, 5, subsample=(1, 1, 1), activation='relu', border_mode='valid', input_shape=())(inputs) m = MaxPooling3D(pool_size=(2, 2, 2), strides=None, border_mode='same')(m) # inception module 0 branch1x1 = Convolution3D(32, 1, 1, 1, subsample=(1, 1, 1), activation='relu', border_mode='same')(m) branch3x3_reduce = Convolution3D(32, 1, 1, 1, subsample=(1, 1, 1), activation='relu', border_mode='same')(m) branch3x3 = Convolution3D(64, 3, 3, 3, subsample=(1, 1, 1), activation='relu', border_mode='same')(branch3x3_reduce) branch5x5_reduce = Convolution3D(16, 1, 1, 1, subsample=(1, 1, 1), activation='relu', border_mode='same')(m) branch5x5 = Convolution3D(32, 5, 5, 5, subsample=(1, 1, 1), activation='relu', border_mode='same')(branch5x5_reduce) branch_pool = MaxPooling3D(pool_size=(2, 2, 2), strides=(1, 1, 1), border_mode='same')(m) branch_pool_proj = Convolution3D(32, 1, 1, 1, subsample=(1, 1, 1), activation='relu', border_mode='same')(branch_pool) #m = merge([branch1x1, branch3x3, branch5x5, branch_pool_proj], mode='concat', concat_axis=-1) from keras.layers import concatenate m = concatenate([branch1x1, branch3x3, branch5x5, branch_pool_proj],axis=-1) m = AveragePooling3D(pool_size=(2, 2, 2), strides=(1, 1, 1), border_mode='valid')(m) m = Flatten()(m) m = Dropout(0.7)(m) # expliciately seperate Dense and Activation layers in order for projecting to structural feature space m = Dense(num_labels, activation='linear')(m) m = Activation('softmax')(m) mod = KM.Model(input=inputs, output=m) return mod
Example #6
Source File: T3D_keras.py From T3D-keras with MIT License | 5 votes |
def _Transition(prev_layer, num_output_features): # print('In _Transition') x = BatchNormalization()(prev_layer) x = Activation('relu')(x) x = Conv3D(filters=num_output_features, kernel_size=1, strides=1, use_bias=False, padding='same')(x) x = AveragePooling3D(pool_size=(2, 2, 2), strides=(2, 2, 2))(x) # print('Completed _Transition') return x
Example #7
Source File: m10a.py From kaggle-lung-cancer with Apache License 2.0 | 5 votes |
def define_model(image_shape): img_input = Input(shape=image_shape) x = Convolution3D(16, 3, 3, 3, subsample=(1, 1, 1), border_mode='same')(img_input) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=2) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=2) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=2) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=2) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = BatchNormalization(axis=4)(x) x = Activation('relu')(x) x = AveragePooling3D(pool_size=(3, 3, 3), strides=(2, 2, 2), border_mode='valid')(x) x = Flatten()(x) x = Dense(1, activation='sigmoid', name='predictions')(x) model = Model(img_input, x) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', 'precision', 'recall', 'fmeasure']) model.summary() return model
Example #8
Source File: sd01a.py From kaggle-lung-cancer with Apache License 2.0 | 5 votes |
def define_model(image_shape): img_input = Input(shape=image_shape) x = Convolution3D(16, 5, 5, 5, subsample=(1, 1, 1), border_mode='same')(img_input) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=2) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=2) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=2) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = BatchNormalization(axis=4)(x) x = Activation('relu')(x) x = AveragePooling3D(pool_size=(4, 4, 8))(x) x = Flatten()(x) x = Dense(1, activation='sigmoid', name='predictions')(x) model = Model(img_input, x) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', 'precision', 'recall', 'fmeasure']) model.summary() return model
Example #9
Source File: m10a.py From kaggle-lung-cancer with Apache License 2.0 | 5 votes |
def define_model(): img_input = Input(shape=(64, 64, 64, 1)) x = Convolution3D(16, 3, 3, 3, subsample=(1, 1, 1), border_mode='same')(img_input) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=2) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=2) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=2) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=2) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = res_block(x, nb_filters=256, block=4, subsample_factor=1) x = BatchNormalization(axis=4)(x) x = Activation('relu')(x) x = AveragePooling3D(pool_size=(3, 3, 3), strides=(2, 2, 2), border_mode='valid')(x) x = Flatten()(x) x = Dense(1, activation='sigmoid', name='predictions')(x) model = Model(img_input, x) model.compile(optimizer='adam', loss='binary_crossentropy') return model
Example #10
Source File: sd01a.py From kaggle-lung-cancer with Apache License 2.0 | 5 votes |
def define_model(): img_input = Input(shape=(32, 32, 64, 1)) x = Convolution3D(16, 5, 5, 5, subsample=(1, 1, 1), border_mode='same')(img_input) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=16, block=0, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=2) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=32, block=1, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=2) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=64, block=2, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=2) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = res_block(x, nb_filters=128, block=3, subsample_factor=1) x = BatchNormalization(axis=4)(x) x = Activation('relu')(x) x = AveragePooling3D(pool_size=(4, 4, 8))(x) x = Flatten()(x) x = Dense(1, activation='sigmoid', name='predictions')(x) model = Model(img_input, x) model.compile(optimizer='adam', loss='binary_crossentropy') return model
Example #11
Source File: videograph.py From videograph with GNU General Public License v3.0 | 4 votes |
def graph_embedding(tensor, n_layers, n_avg_size, n_kernel_size, t_kernel_size, n_max_size, t_max_size): """ Graph embedding. :param tensor: :param n_layers: :return: """ input_shape = K.int_shape(tensor) _, n_odes, n_timesteps, side_dim, side_dim, n_channels_in = input_shape # hide temporal dimension tensor = TransposeLayer((0, 2, 1, 3, 4, 5))(tensor) # (None, 64, 100, 7, 7, 1024) tensor = ReshapeLayer((n_odes, side_dim, side_dim, n_channels_in))(tensor) # pool over node tensor = AveragePooling3D(pool_size=(n_avg_size, 1, 1), name='pool_n')(tensor) _, n_odes, side_dim, side_dim, n_channels_in = K.int_shape(tensor) # recover node dimension tensor = ReshapeLayer((n_timesteps, n_odes, side_dim, side_dim, n_channels_in))(tensor) # (None, 64, 100, 7, 7, 1024) tensor = TransposeLayer((0, 2, 1, 3, 4, 5))(tensor) # (None, 100, 64, 7, 7, 1024) # hide the node dimension tensor = ReshapeLayer((n_timesteps, side_dim, side_dim, n_channels_in))(tensor) # (None, 64, 7, 7, 1024) # 2 layers spatio-temporal conv for i in range(n_layers): layer_id = '%d' % (i + 1) # spatial conv tensor = Conv3D(n_channels_in, (1, 1, 1), padding='SAME', name='conv_s_%s' % (layer_id))(tensor) # (None, 64, 7, 7, 1024) # temporal conv tensor = DepthwiseConv1DLayer(t_kernel_size, padding='SAME', name='conv_t_%s' % (layer_id))(tensor) # (None, 64, 7, 7, 1024) # node conv tensor = __convolve_nodes(tensor, n_odes, layer_id, n_kernel_size) # (None, 100, 7, 7, 1024) # activation tensor = BatchNormalization()(tensor) tensor = LeakyReLU(alpha=0.2)(tensor) # max_pool over nodes tensor = MaxPooling3D(pool_size=(n_max_size, 1, 1), name='pool_n_%s' % (layer_id))(tensor) # (None, 100, 7, 7, 1024) _, n_odes, side_dim, side_dim, n_channels_in = K.int_shape(tensor) # get back temporal dimension and hide node dimension tensor = ReshapeLayer((n_timesteps, n_odes, side_dim, side_dim, n_channels_in))(tensor) # (None, 64, 100, 7, 7, 1024) tensor = TransposeLayer((0, 2, 1, 3, 4, 5))(tensor) # (None, 100, 64, 7, 7, 1024) tensor = ReshapeLayer((n_timesteps, side_dim, side_dim, n_channels_in))(tensor) # (None, 64, 7, 7, 1024) # max_pool over time tensor = MaxPooling3D(pool_size=(t_max_size, 1, 1), name='pool_t_%s' % (layer_id))(tensor) # (None, 64, 7, 7, 1024) _, n_timesteps, side_dim, side_dim, n_channels_in = K.int_shape(tensor) # (None, 64, 7, 7, 1024) # recover nodes dimension tensor = ReshapeLayer((n_odes, n_timesteps, side_dim, side_dim, n_channels_in))(tensor) return tensor
Example #12
Source File: step2_train_nodule_detector.py From kaggle_ndsb2017 with MIT License | 4 votes |
def get_net(input_shape=(CUBE_SIZE, CUBE_SIZE, CUBE_SIZE, 1), load_weight_path=None, features=False, mal=False) -> Model: inputs = Input(shape=input_shape, name="input_1") x = inputs x = AveragePooling3D(pool_size=(2, 1, 1), strides=(2, 1, 1), border_mode="same")(x) x = Convolution3D(64, 3, 3, 3, activation='relu', border_mode='same', name='conv1', subsample=(1, 1, 1))(x) x = MaxPooling3D(pool_size=(1, 2, 2), strides=(1, 2, 2), border_mode='valid', name='pool1')(x) # 2nd layer group x = Convolution3D(128, 3, 3, 3, activation='relu', border_mode='same', name='conv2', subsample=(1, 1, 1))(x) x = MaxPooling3D(pool_size=(2, 2, 2), strides=(2, 2, 2), border_mode='valid', name='pool2')(x) if USE_DROPOUT: x = Dropout(p=0.3)(x) # 3rd layer group x = Convolution3D(256, 3, 3, 3, activation='relu', border_mode='same', name='conv3a', subsample=(1, 1, 1))(x) x = Convolution3D(256, 3, 3, 3, activation='relu', border_mode='same', name='conv3b', subsample=(1, 1, 1))(x) x = MaxPooling3D(pool_size=(2, 2, 2), strides=(2, 2, 2), border_mode='valid', name='pool3')(x) if USE_DROPOUT: x = Dropout(p=0.4)(x) # 4th layer group x = Convolution3D(512, 3, 3, 3, activation='relu', border_mode='same', name='conv4a', subsample=(1, 1, 1))(x) x = Convolution3D(512, 3, 3, 3, activation='relu', border_mode='same', name='conv4b', subsample=(1, 1, 1),)(x) x = MaxPooling3D(pool_size=(2, 2, 2), strides=(2, 2, 2), border_mode='valid', name='pool4')(x) if USE_DROPOUT: x = Dropout(p=0.5)(x) last64 = Convolution3D(64, 2, 2, 2, activation="relu", name="last_64")(x) out_class = Convolution3D(1, 1, 1, 1, activation="sigmoid", name="out_class_last")(last64) out_class = Flatten(name="out_class")(out_class) out_malignancy = Convolution3D(1, 1, 1, 1, activation=None, name="out_malignancy_last")(last64) out_malignancy = Flatten(name="out_malignancy")(out_malignancy) model = Model(input=inputs, output=[out_class, out_malignancy]) if load_weight_path is not None: model.load_weights(load_weight_path, by_name=False) model.compile(optimizer=SGD(lr=LEARN_RATE, momentum=0.9, nesterov=True), loss={"out_class": "binary_crossentropy", "out_malignancy": mean_absolute_error}, metrics={"out_class": [binary_accuracy, binary_crossentropy], "out_malignancy": mean_absolute_error}) if features: model = Model(input=inputs, output=[last64]) model.summary(line_length=140) return model
Example #13
Source File: layers_export.py From Fabrik with GNU General Public License v3.0 | 4 votes |
def pooling(layer, layer_in, layerId, tensor=True): poolMap = { ('1D', 'MAX'): MaxPooling1D, ('2D', 'MAX'): MaxPooling2D, ('3D', 'MAX'): MaxPooling3D, ('1D', 'AVE'): AveragePooling1D, ('2D', 'AVE'): AveragePooling2D, ('3D', 'AVE'): AveragePooling3D, } out = {} layer_type = layer['params']['layer_type'] pool_type = layer['params']['pool'] padding = get_padding(layer) if (layer_type == '1D'): strides = layer['params']['stride_w'] kernel = layer['params']['kernel_w'] if (padding == 'custom'): p_w = layer['params']['pad_w'] out[layerId + 'Pad'] = ZeroPadding1D(padding=p_w)(*layer_in) padding = 'valid' layer_in = [out[layerId + 'Pad']] elif (layer_type == '2D'): strides = (layer['params']['stride_h'], layer['params']['stride_w']) kernel = (layer['params']['kernel_h'], layer['params']['kernel_w']) if (padding == 'custom'): p_h, p_w = layer['params']['pad_h'], layer['params']['pad_w'] out[layerId + 'Pad'] = ZeroPadding2D(padding=(p_h, p_w))(*layer_in) padding = 'valid' layer_in = [out[layerId + 'Pad']] else: strides = (layer['params']['stride_h'], layer['params']['stride_w'], layer['params']['stride_d']) kernel = (layer['params']['kernel_h'], layer['params']['kernel_w'], layer['params']['kernel_d']) if (padding == 'custom'): p_h, p_w, p_d = layer['params']['pad_h'], layer['params']['pad_w'],\ layer['params']['pad_d'] out[layerId + 'Pad'] = ZeroPadding3D(padding=(p_h, p_w, p_d))(*layer_in) padding = 'valid' layer_in = [out[layerId + 'Pad']] # Note - figure out a permanent fix for padding calculation of layers # in case padding is given in layer attributes # if ('padding' in layer['params']): # padding = layer['params']['padding'] out[layerId] = poolMap[(layer_type, pool_type)]( pool_size=kernel, strides=strides, padding=padding) if tensor: out[layerId] = out[layerId](*layer_in) return out # ********** Locally-connected Layers **********