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`. n
(x,
filters,
kernel_size,
strides=1,
padding='same',
activation='relu',
use_bias=False,
name=None)
| 62 | |
| 63 | |
| 64 | def conv2d_bn(x, |
| 65 | filters, |
| 66 | kernel_size, |
| 67 | strides=1, |
| 68 | padding='same', |
| 69 | activation='relu', |
| 70 | use_bias=False, |
| 71 | name=None): |
| 72 | """Utility function to apply conv + BN. |
| 73 | |
| 74 | # Arguments |
| 75 | x: input tensor. |
| 76 | filters: filters in `Conv2D`. |
| 77 | kernel_size: kernel size as in `Conv2D`. |
| 78 | padding: padding mode in `Conv2D`. |
| 79 | activation: activation in `Conv2D`. |
| 80 | strides: strides in `Conv2D`. |
| 81 | name: name of the ops; will become `name + '_ac'` for the activation |
| 82 | and `name + '_bn'` for the batch norm layer. |
| 83 | |
| 84 | # Returns |
| 85 | Output tensor after applying `Conv2D` and `BatchNormalization`. |
| 86 | """ |
| 87 | x = Conv2D(filters, |
| 88 | kernel_size, |
| 89 | strides=strides, |
| 90 | padding=padding, |
| 91 | use_bias=use_bias, |
| 92 | name=name)(x) |
| 93 | if not use_bias: |
| 94 | bn_axis = 1 if K.image_data_format() == 'channels_first' else 3 |
| 95 | bn_name = None if name is None else name + '_bn' |
| 96 | x = BatchNormalization(axis=bn_axis, scale=False, name=bn_name)(x) |
| 97 | if activation is not None: |
| 98 | ac_name = None if name is None else name + '_ac' |
| 99 | x = Activation(activation, name=ac_name)(x) |
| 100 | return x |
| 101 | |
| 102 | |
| 103 | def inception_resnet_block(x, scale, block_type, block_idx, activation='relu'): |
no outgoing calls
no test coverage detected