Python keras.backend.image_data_format() Examples
The following are 30 code examples for showing how to use keras.backend.image_data_format(). These examples are extracted from open source projects. 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 check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
keras.backend
, or try the search function
.
Example 1
Project: keras-mobilenet Author: rcmalli File: depthwise_conv2d.py License: MIT License | 6 votes |
def call(self, inputs): if self.data_format is None: data_format = image_data_format() if self.data_format not in {'channels_first', 'channels_last'}: raise ValueError('Unknown data_format ' + str(data_format)) x = _preprocess_conv2d_input(inputs, self.data_format) padding = _preprocess_padding(self.padding) strides = (1,) + self.strides + (1,) outputs = tf.nn.depthwise_conv2d(inputs, self.depthwise_kernel, strides=strides, padding=padding, rate=self.dilation_rate) if self.bias: outputs = K.bias_add( outputs, self.bias, data_format=self.data_format) if self.activation is not None: return self.activation(outputs) return outputs
Example 2
Project: Face-skin-hair-segmentaiton-and-skin-color-evaluation Author: JACKYLUO1991 File: hlnet.py License: Apache License 2.0 | 6 votes |
def _conv_block(inputs, filters, kernel, strides=1, padding='same', use_activation=False): """Convolution Block This function defines a 2D convolution operation with BN and relu. # Arguments inputs: Tensor, input tensor of conv layer. filters: Integer, the dimensionality of the output space. kernel: An integer or tuple/list of 2 integers, specifying the width and height of the 2D convolution window. strides: An integer or tuple/list of 2 integers, specifying the strides of the convolution along the width and height. Can be a single integer to specify the same value for all spatial dimensions. # Returns Output tensor. """ channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = Conv2D(filters, kernel, padding=padding, strides=strides, use_bias=False)(inputs) x = BatchNormalization(axis=channel_axis)(x) if use_activation: x = Activation('relu')(x) return x
Example 3
Project: Keras-DualPathNetworks Author: titu1994 File: dual_path_network.py License: Apache License 2.0 | 6 votes |
def _initial_conv_block_inception(input, initial_conv_filters, weight_decay=5e-4): ''' Adds an initial conv block, with batch norm and relu for the DPN Args: input: input tensor initial_conv_filters: number of filters for initial conv block weight_decay: weight decay factor Returns: a keras tensor ''' channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = Conv2D(initial_conv_filters, (7, 7), padding='same', use_bias=False, kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay), strides=(2, 2))(input) x = BatchNormalization(axis=channel_axis)(x) x = Activation('relu')(x) x = MaxPooling2D((3, 3), strides=(2, 2), padding='same')(x) return x
Example 4
Project: Keras-DualPathNetworks Author: titu1994 File: dual_path_network.py License: Apache License 2.0 | 6 votes |
def _bn_relu_conv_block(input, filters, kernel=(3, 3), stride=(1, 1), weight_decay=5e-4): ''' Adds a Batchnorm-Relu-Conv block for DPN Args: input: input tensor filters: number of output filters kernel: convolution kernel size stride: stride of convolution Returns: a keras tensor ''' channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = Conv2D(filters, kernel, padding='same', use_bias=False, kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay), strides=stride)(input) x = BatchNormalization(axis=channel_axis)(x) x = Activation('relu')(x) return x
Example 5
Project: MCF-3D-CNN Author: xyj77 File: conv_featuremaps_visualization.py License: MIT License | 6 votes |
def deprocess_image(x): # normalize tensor: center on 0., ensure std is 0.1 x -= x.mean() x /= (x.std() + K.epsilon()) x *= 0.1 # clip to [0, 1] x += 0.5 x = np.clip(x, 0, 1) # convert to RGB array x *= 255 if K.image_data_format() == 'channels_first': x = x.transpose((1, 2, 0)) x = np.clip(x, 0, 255).astype('uint8') return x
Example 6
Project: keras-image-segmentation Author: dhkim0225 File: pspnet.py License: MIT License | 6 votes |
def __init__(self, target_shape=None,factor=None, data_format=None, **kwargs): # conmpute dataformat if data_format is None: data_format = K.image_data_format() assert data_format in { 'channels_last', 'channels_first'} self.data_format = data_format self.input_spec = [InputSpec(ndim=4)] self.target_shape = target_shape self.factor = factor if self.data_format == 'channels_first': self.target_size = (target_shape[2], target_shape[3]) elif self.data_format == 'channels_last': self.target_size = (target_shape[1], target_shape[2]) super(BilinearUpSampling2D, self).__init__(**kwargs)
Example 7
Project: keras-image-segmentation Author: dhkim0225 File: pspnet.py License: MIT License | 6 votes |
def duc(x, factor=8, output_shape=(512, 512, 1)): if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 H, W, c, r = output_shape[0], output_shape[1], output_shape[2], factor h = H / r w = W / r x = Conv2D( c*r*r, (3, 3), padding='same', name='conv_duc_%s'%factor)(x) x = BatchNormalization(axis=bn_axis,name='bn_duc_%s'%factor)(x) x = Activation('relu')(x) x = Permute((3, 1, 2))(x) x = Reshape((c, r, r, h, w))(x) x = Permute((1, 4, 2, 5, 3))(x) x = Reshape((c, H, W))(x) x = Permute((2, 3, 1))(x) return x # interpolation
Example 8
Project: keras-squeeze-excite-network Author: titu1994 File: se_resnext.py License: MIT License | 6 votes |
def __initial_conv_block_inception(input_tensor, weight_decay=5e-4): """ Adds an initial conv block, with batch norm and relu for the inception resnext Args: input_tensor: input Keras tensor weight_decay: weight decay factor Returns: a Keras tensor """ channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = Conv2D(64, (7, 7), padding='same', use_bias=False, kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay), strides=(2, 2))(input_tensor) x = BatchNormalization(axis=channel_axis)(x) x = LeakyReLU()(x) x = MaxPooling2D((3, 3), strides=(2, 2), padding='same')(x) return x
Example 9
Project: MachineLearning Author: mengli File: my_image.py License: Apache License 2.0 | 6 votes |
def __init__(self, file, image_size, image_data_generator, batch_size=32, shuffle=False, seed=None, data_format=None, save_to_dir=None, save_prefix='', save_format='png'): if not os.path.exists(file): raise ValueError('Cannot find file: %s' % file) if data_format is None: data_format = K.image_data_format() split_lines = [line.rstrip('\n').split(' ') for line in open(file, 'r')] self.x = np.asarray([e[0] for e in split_lines]) self.y = np.asarray([float(e[1]) for e in split_lines]) self.image_size = image_size self.image_data_generator = image_data_generator self.data_format = data_format self.save_to_dir = save_to_dir self.save_prefix = save_prefix self.save_format = save_format super(FileIterator, self).__init__(self.x.shape[0], batch_size, shuffle, seed)
Example 10
Project: Deep-Learning-with-TensorFlow-Second-Edition Author: PacktPublishing File: squeezenet.py License: MIT License | 6 votes |
def fire_module(x, fire_id, squeeze=16, expand=64): s_id = 'fire' + str(fire_id) + '/' if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = 3 x = Conv2D(squeeze, (1, 1), padding='valid', name=s_id + sq1x1)(x) x = Activation('relu', name=s_id + relu + sq1x1)(x) left = Conv2D(expand, (1, 1), padding='valid', name=s_id + exp1x1)(x) left = Activation('relu', name=s_id + relu + exp1x1)(left) right = Conv2D(expand, (3, 3), padding='same', name=s_id + exp3x3)(x) right = Activation('relu', name=s_id + relu + exp3x3)(right) x = concatenate([left, right], axis=channel_axis, name=s_id + 'concat') return x # Original SqueezeNet from paper.
Example 11
Project: keras-global-context-networks Author: titu1994 File: gc_densenet.py License: MIT License | 6 votes |
def __transition_block(ip, nb_filter, compression=1.0, weight_decay=1e-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional compression, dropout and Maxpooling2D Args: ip: keras tensor nb_filter: number of filters compression: calculated as 1 - reduction. Reduces the number of feature maps in the transition block. dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor, after applying batch_norm, relu-conv, dropout, maxpool ''' concat_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(ip) x = Activation('relu')(x) x = Conv2D(int(nb_filter * compression), (1, 1), kernel_initializer='he_normal', padding='same', use_bias=False, kernel_regularizer=l2(weight_decay))(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) # global context block x = global_context_block(x) return x
Example 12
Project: imgclsmob Author: osmr File: utils.py License: MIT License | 6 votes |
def get_data_generator(data_iterator, num_classes): def get_arrays(db): data = db.data[0].asnumpy() if K.image_data_format() == "channels_last": data = data.transpose((0, 2, 3, 1)) labels = to_categorical( y=db.label[0].asnumpy(), num_classes=num_classes) return data, labels while True: try: db = data_iterator.next() except StopIteration: # logging.warning("get_data exception due to end of data - resetting iterator") data_iterator.reset() db = data_iterator.next() finally: yield get_arrays(db)
Example 13
Project: deep_complex_networks Author: ChihebTrabelsi File: utils.py License: MIT License | 6 votes |
def get_realpart(x): image_format = K.image_data_format() ndim = K.ndim(x) input_shape = K.shape(x) if (image_format == 'channels_first' and ndim != 3) or ndim == 2: input_dim = input_shape[1] // 2 return x[:, :input_dim] input_dim = input_shape[-1] // 2 if ndim == 3: return x[:, :, :input_dim] elif ndim == 4: return x[:, :, :, :input_dim] elif ndim == 5: return x[:, :, :, :, :input_dim]
Example 14
Project: deep_complex_networks Author: ChihebTrabelsi File: utils.py License: MIT License | 6 votes |
def get_imagpart(x): image_format = K.image_data_format() ndim = K.ndim(x) input_shape = K.shape(x) if (image_format == 'channels_first' and ndim != 3) or ndim == 2: input_dim = input_shape[1] // 2 return x[:, input_dim:] input_dim = input_shape[-1] // 2 if ndim == 3: return x[:, :, input_dim:] elif ndim == 4: return x[:, :, :, input_dim:] elif ndim == 5: return x[:, :, :, :, input_dim:]
Example 15
Project: keras-fcn Author: JihongJu File: score.py License: MIT License | 6 votes |
def compute_error_matrix(y_true, y_pred): """Compute Confusion matrix (a.k.a. error matrix). a predicted c 0 1 2 t 0 [[ 5, 3, 0], u 1 [ 2, 3, 1], a 2 [ 0, 2, 11]] l Note true positves are in diagonal """ # Find channel axis given backend if K.image_data_format() == 'channels_last': ax_chn = 3 else: ax_chn = 1 classes = y_true.shape[ax_chn] confusion = get_confusion(K.argmax(y_true, axis=ax_chn).flatten(), K.argmax(y_pred, axis=ax_chn).flatten(), classes) return confusion
Example 16
Project: deep-learning-note Author: wdxtub File: utils.py License: MIT License | 5 votes |
def deprocess_image(x): # 通用函数,将一个张量转换为有效图像 if K.image_data_format() == 'channels_first': x = x.reshape((3, x.shape[2], x.shape[3])) x = x.transpose((1, 2, 0)) else: x = x.reshape((x.shape[1], x.shape[2], 3)) x /= 2. x += 0.3 x *= 255. x = np.clip(x, 0, 255).astype('uint8') return x
Example 17
Project: Face-skin-hair-segmentaiton-and-skin-color-evaluation Author: JACKYLUO1991 File: hlnet.py License: Apache License 2.0 | 5 votes |
def _bottleneck(inputs, filters, kernel, t, s, r=False): """Bottleneck This function defines a basic bottleneck structure. # Arguments inputs: Tensor, input tensor of conv layer. filters: Integer, the dimensionality of the output space. kernel: An integer or tuple/list of 2 integers, specifying the width and height of the 2D convolution window. t: Integer, expansion factor. t is always applied to the input size. s: An integer or tuple/list of 2 integers,specifying the strides of the convolution along the width and height.Can be a single integer to specify the same value for all spatial dimensions. r: Boolean, Whether to use the residuals. # Returns Output tensor. """ channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 tchannel = K.int_shape(inputs)[channel_axis] * t x = _conv_block(inputs, tchannel, (1, 1)) x = DepthwiseConv2D(kernel, strides=( s, s), depth_multiplier=1, padding='same')(x) x = BatchNormalization(axis=channel_axis)(x) # relu6 x = ReLU(max_value=6)(x) x = Conv2D(filters, (1, 1), strides=(1, 1), padding='same')(x) x = BatchNormalization(axis=channel_axis)(x) if r: x = add([x, inputs]) return x
Example 18
Project: Face-skin-hair-segmentaiton-and-skin-color-evaluation Author: JACKYLUO1991 File: hlnet.py License: Apache License 2.0 | 5 votes |
def _depthwise_separable_block(inputs, kernel, strides, padding='same', depth_multiplier=1): '''Depth separable point convolution module''' channel_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = DepthwiseConv2D(kernel_size=kernel, strides=strides, padding=padding, depth_multiplier=depth_multiplier)(inputs) x = BatchNormalization(axis=channel_axis)(x) return Activation('relu')(x)
Example 19
Project: kaggle-carvana-2017 Author: killthekitten File: inception_resnet_v2.py License: MIT License | 5 votes |
def conv2d_bn(x, filters, kernel_size, strides=1, padding='same', activation='relu', use_bias=False, name=None): """Utility function to apply conv + BN. # Arguments x: input tensor. filters: filters in `Conv2D`. kernel_size: kernel size as in `Conv2D`. padding: padding mode in `Conv2D`. activation: activation in `Conv2D`. strides: strides in `Conv2D`. name: name of the ops; will become `name + '_ac'` for the activation and `name + '_bn'` for the batch norm layer. # Returns Output tensor after applying `Conv2D` and `BatchNormalization`. """ x = Conv2D(filters, kernel_size, strides=strides, padding=padding, use_bias=use_bias, name=name)(x) if not use_bias: bn_axis = 1 if K.image_data_format() == 'channels_first' else 3 bn_name = None if name is None else name + '_bn' x = BatchNormalization(axis=bn_axis, scale=False, name=bn_name)(x) if activation is not None: ac_name = None if name is None else name + '_ac' x = Activation(activation, name=ac_name)(x) return x
Example 20
Project: kaggle-carvana-2017 Author: killthekitten File: resnet50_fixed.py License: MIT License | 5 votes |
def identity_block(input_tensor, kernel_size, filters, stage, block): """The identity block is the block that has no conv layer at shortcut. # Arguments input_tensor: input tensor kernel_size: default 3, the kernel size of middle conv layer at main path filters: list of integers, the filters of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'keras.., current block label, used for generating layer names # Returns Output tensor for the block. """ filters1, filters2, filters3 = filters if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' x = Conv2D(filters1, (1, 1), name=conv_name_base + '2a')(input_tensor) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2a')(x) x = Activation('relu')(x) x = Conv2D(filters2, kernel_size, padding='same', name=conv_name_base + '2b')(x) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2b')(x) x = Activation('relu')(x) x = Conv2D(filters3, (1, 1), name=conv_name_base + '2c')(x) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2c')(x) x = layers.add([x, input_tensor]) x = Activation('relu')(x) return x
Example 21
Project: DEXTR-KerasTensorflow Author: scaelles File: classifiers.py License: GNU General Public License v3.0 | 5 votes |
def psp_block(prev_layer, level, feature_map_shape, input_shape): if input_shape == (512, 512): kernel_strides_map = {1: [64, 64], 2: [32, 32], 3: [22, 21], 6: [11, 9]} # TODO: Level 6: Kernel correct, but stride not exactly the same as Pytorch else: raise ValueError("Pooling parameters for input shape " + input_shape + " are not defined.") if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 names = [ "class_psp_" + str(level) + "_conv", "class_psp_" + str(level) + "_bn" ] kernel = (kernel_strides_map[level][0], kernel_strides_map[level][0]) strides = (kernel_strides_map[level][1], kernel_strides_map[level][1]) prev_layer = AveragePooling2D(kernel, strides=strides)(prev_layer) prev_layer = Conv2D(512, (1, 1), strides=(1, 1), name=names[0], use_bias=False)(prev_layer) prev_layer = resnet.BN(bn_axis, name=names[1])(prev_layer) prev_layer = Activation('relu')(prev_layer) prev_layer = Upsampling(feature_map_shape)(prev_layer) return prev_layer
Example 22
Project: DEXTR-KerasTensorflow Author: scaelles File: classifiers.py License: GNU General Public License v3.0 | 5 votes |
def build_pyramid_pooling_module(res, input_shape, nb_classes, sigmoid=False, output_size=None): """Build the Pyramid Pooling Module.""" # ---PSPNet concat layers with Interpolation feature_map_size = tuple(int(ceil(input_dim / 8.0)) for input_dim in input_shape) if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 print("PSP module will interpolate to a final feature map size of %s" % (feature_map_size, )) interp_block1 = psp_block(res, 1, feature_map_size, input_shape) interp_block2 = psp_block(res, 2, feature_map_size, input_shape) interp_block3 = psp_block(res, 3, feature_map_size, input_shape) interp_block6 = psp_block(res, 6, feature_map_size, input_shape) # concat all these layers. resulted res = Concatenate()([interp_block1, interp_block2, interp_block3, interp_block6, res]) x = Conv2D(512, (1, 1), strides=(1, 1), padding="same", name="class_psp_reduce_conv", use_bias=False)(res) x = resnet.BN(bn_axis, name="class_psp_reduce_bn")(x) x = Activation('relu')(x) x = Conv2D(nb_classes, (1, 1), strides=(1, 1), name="class_psp_final_conv")(x) if output_size: x = Upsampling(output_size)(x) if sigmoid: x = Activation('sigmoid')(x) return x
Example 23
Project: DEXTR-KerasTensorflow Author: scaelles File: resnet.py License: GNU General Public License v3.0 | 5 votes |
def identity_block(input_tensor, kernel_size, filters, stage, block, dilation=1): """The identity block is the block that has no conv layer at shortcut. # Arguments input_tensor: input tensor kernel_size: defualt 3, the kernel size of middle conv layer at main path filters: list of integers, the filterss of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'..., current block label, used for generating layer names dilation: dilation of the intermediate convolution # Returns Output tensor for the block. """ filters1, filters2, filters3 = filters if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' x = Conv2D(filters1, (1, 1), name=conv_name_base + '2a', use_bias=False)(input_tensor) x = BN(axis=bn_axis, name=bn_name_base + '2a')(x) x = Activation('relu')(x) x = Conv2D(filters2, kernel_size, padding='same', name=conv_name_base + '2b', use_bias=False, dilation_rate=dilation)(x) x = BN(axis=bn_axis, name=bn_name_base + '2b')(x) x = Activation('relu')(x) x = Conv2D(filters3, (1, 1), name=conv_name_base + '2c', use_bias=False)(x) x = BN(axis=bn_axis, name=bn_name_base + '2c')(x) x = layers.add([x, input_tensor]) x = Activation('relu')(x) return x
Example 24
Project: DEXTR-KerasTensorflow Author: scaelles File: resnet.py License: GNU General Public License v3.0 | 5 votes |
def conv_block(input_tensor, kernel_size, filters, stage, block, strides=(1, 1), dilation=1): """conv_block is the block that has a conv layer at shortcut # Arguments input_tensor: input tensor kernel_size: defualt 3, the kernel size of middle conv layer at main path filters: list of integers, the filterss of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'..., current block label, used for generating layer names # Returns Output tensor for the block. Note that from stage 3, the first conv layer at main path is with strides=(2,2) And the shortcut should have strides=(2,2) as well """ filters1, filters2, filters3 = filters if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' x = Conv2D(filters1, (1, 1), strides=strides, name=conv_name_base + '2a', use_bias=False)(input_tensor) x = BN(axis=bn_axis, name=bn_name_base + '2a')(x) x = Activation('relu')(x) x = Conv2D(filters2, kernel_size, padding='same', name=conv_name_base + '2b', use_bias=False, dilation_rate=dilation)(x) x = BN(axis=bn_axis, name=bn_name_base + '2b')(x) x = Activation('relu')(x) x = Conv2D(filters3, (1, 1), name=conv_name_base + '2c', use_bias=False)(x) x = BN(axis=bn_axis, name=bn_name_base + '2c')(x) shortcut = Conv2D(filters3, (1, 1), strides=strides, name=conv_name_base + '1', use_bias=False)(input_tensor) shortcut = BN(axis=bn_axis, name=bn_name_base + '1')(shortcut) x = layers.add([x, shortcut]) x = Activation('relu')(x) return x
Example 25
Project: deep-smoke-machine Author: CMU-CREATE-Lab File: resnet_152_keras.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def identity_block(input_tensor, kernel_size, filters, stage, block): """ The identity_block is the block that has no conv layer at shortcut # Arguments input_tensor: input tensor kernel_size: defualt 3, the kernel size of middle conv layer at main path filters: list of integers, the nb_filters of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'..., current block label, used for generating layer names """ eps = 1.1e-5 nb_filter1, nb_filter2, nb_filter3 = filters conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' scale_name_base = 'scale' + str(stage) + block + '_branch' if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 x = Conv2D(nb_filter1, (1, 1), name=conv_name_base + '2a', use_bias=False)(input_tensor) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2a')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2a')(x) x = Activation('relu', name=conv_name_base + '2a_relu')(x) x = ZeroPadding2D((1, 1), name=conv_name_base + '2b_zeropadding')(x) x = Conv2D(nb_filter2, (kernel_size, kernel_size), name=conv_name_base + '2b', use_bias=False)(x) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2b')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2b')(x) x = Activation('relu', name=conv_name_base + '2b_relu')(x) x = Conv2D(nb_filter3, (1, 1), name=conv_name_base + '2c', use_bias=False)(x) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2c')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2c')(x) x = add([x, input_tensor], name='res' + str(stage) + block) x = Activation('relu', name='res' + str(stage) + block + '_relu')(x) return x
Example 26
Project: deep-smoke-machine Author: CMU-CREATE-Lab File: i3d_keras.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def conv3d_bn(x, filters, num_frames, num_row, num_col, padding='same', strides=(1, 1, 1), use_bias=False, use_activation_fn=True, use_bn=True, name=None): """Utility function to apply conv3d + BN. # Arguments x: input tensor. filters: filters in `Conv3D`. num_frames: frames (time depth) of the convolution kernel. num_row: height of the convolution kernel. num_col: width of the convolution kernel. padding: padding mode in `Conv3D`. strides: strides in `Conv3D`. use_bias: use bias or not use_activation_fn: use an activation function or not. use_bn: use batch normalization or not. name: name of the ops; will become `name + '_conv'` for the convolution and `name + '_bn'` for the batch norm layer. # Returns Output tensor after applying `Conv3D` and `BatchNormalization`. """ if name is not None: bn_name = name + '_bn' conv_name = name + '_conv' else: bn_name = None conv_name = None x = Conv3D(filters, (num_frames, num_row, num_col), strides=strides, padding=padding, use_bias=use_bias, name=conv_name)(x) if use_bn: if K.image_data_format() == 'channels_first': bn_axis = 1 else: bn_axis = 4 x = BatchNormalization(axis=bn_axis, scale=False, name=bn_name)(x) if use_activation_fn: x = Activation('relu', name=name)(x) return x
Example 27
Project: timeception Author: noureldien File: resnet_152_keras.py License: GNU General Public License v3.0 | 5 votes |
def identity_block(input_tensor, kernel_size, filters, stage, block): """ The identity_block is the block that has no conv layer at shortcut # Arguments input_tensor: input tensor kernel_size: defualt 3, the kernel size of middle conv layer at main path filters: list of integers, the nb_filters of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'..., current block label, used for generating layer names """ eps = 1.1e-5 nb_filter1, nb_filter2, nb_filter3 = filters conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' scale_name_base = 'scale' + str(stage) + block + '_branch' if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 x = Conv2D(nb_filter1, (1, 1), name=conv_name_base + '2a', use_bias=False)(input_tensor) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2a')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2a')(x) x = Activation('relu', name=conv_name_base + '2a_relu')(x) x = ZeroPadding2D((1, 1), name=conv_name_base + '2b_zeropadding')(x) x = Conv2D(nb_filter2, (kernel_size, kernel_size), name=conv_name_base + '2b', use_bias=False)(x) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2b')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2b')(x) x = Activation('relu', name=conv_name_base + '2b_relu')(x) x = Conv2D(nb_filter3, (1, 1), name=conv_name_base + '2c', use_bias=False)(x) x = BatchNormalization(epsilon=eps, axis=bn_axis, name=bn_name_base + '2c')(x) x = Scale(axis=bn_axis, name=scale_name_base + '2c')(x) x = add([x, input_tensor], name='res' + str(stage) + block) x = Activation('relu', name='res' + str(stage) + block + '_relu')(x) return x
Example 28
Project: timeception Author: noureldien File: i3d_keras.py License: GNU General Public License v3.0 | 5 votes |
def conv3d_bn(x, filters, num_frames, num_row, num_col, padding='same', strides=(1, 1, 1), use_bias=False, use_activation_fn=True, use_bn=True, name=None): """Utility function to apply conv3d + BN. # Arguments x: input tensor. filters: filters in `Conv3D`. num_frames: frames (time depth) of the convolution kernel. num_row: height of the convolution kernel. num_col: width of the convolution kernel. padding: padding mode in `Conv3D`. strides: strides in `Conv3D`. use_bias: use bias or not use_activation_fn: use an activation function or not. use_bn: use batch normalization or not. name: name of the ops; will become `name + '_conv'` for the convolution and `name + '_bn'` for the batch norm layer. # Returns Output tensor after applying `Conv3D` and `BatchNormalization`. """ if name is not None: bn_name = name + '_bn' conv_name = name + '_conv' else: bn_name = None conv_name = None x = Conv3D(filters, (num_frames, num_row, num_col), strides=strides, padding=padding, use_bias=use_bias, name=conv_name)(x) if use_bn: if K.image_data_format() == 'channels_first': bn_axis = 1 else: bn_axis = 4 x = BatchNormalization(axis=bn_axis, scale=False, name=bn_name)(x) if use_activation_fn: x = Activation('relu', name=name)(x) return x
Example 29
Project: Pix2Pose Author: kirumang File: resnet50_mod.py License: MIT License | 5 votes |
def identity_block(input_tensor, kernel_size, filters, stage, block): """The identity block is the block that has no conv layer at shortcut. # Arguments input_tensor: input tensor kernel_size: default 3, the kernel size of middle conv layer at main path filters: list of integers, the filters of 3 conv layer at main path stage: integer, current stage label, used for generating layer names block: 'a','b'..., current block label, used for generating layer names # Returns Output tensor for the block. """ filters1, filters2, filters3 = filters if K.image_data_format() == 'channels_last': bn_axis = 3 else: bn_axis = 1 conv_name_base = 'res' + str(stage) + block + '_branch' bn_name_base = 'bn' + str(stage) + block + '_branch' x = Conv2D(filters1, (1, 1), name=conv_name_base +'2a',kernel_regularizer=l2(0.0001))(input_tensor) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2a')(x) x = Activation('relu')(x) x = Conv2D(filters2, kernel_size, padding='same', name=conv_name_base + '2b',kernel_regularizer=l2(0.0001))(x) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2b')(x) x = Activation('relu')(x) x = Conv2D(filters3, (1, 1), name=conv_name_base + '2c',kernel_regularizer=l2(0.0001))(x) x = BatchNormalization(axis=bn_axis, name=bn_name_base + '2c')(x) x = layers.add([x, input_tensor]) x = Activation('relu',name = 'act'+str(stage)+block+'_branch')(x) return x
Example 30
Project: aetros-cli Author: aetros File: KerasCallback.py License: MIT License | 5 votes |
def image_data_format(): if hasattr(K, 'image_data_format'): return K.image_data_format() if K.image_dim_ordering() == 'th': return 'channel_first' else: return 'channel_last'