def __init__(self, output_dim=(1, 1), data_format=None, **kwargs):
     super(ResizeImages, self).__init__(**kwargs)
     data_format = conv_utils.normalize_data_format(data_format)
     self.output_dim = conv_utils.normalize_tuple(output_dim, 2,
                                                  'output_dim')
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = InputSpec(ndim=4)
Пример #2
0
    def test_normalize_data_format(self):
        self.assertEqual('channels_last',
                         conv_utils.normalize_data_format('Channels_Last'))
        self.assertEqual('channels_first',
                         conv_utils.normalize_data_format('CHANNELS_FIRST'))

        with self.assertRaises(ValueError):
            conv_utils.normalize_data_format('invalid')
Пример #3
0
    def test_normalize_data_format(self):
        self.assertEqual("channels_last",
                         conv_utils.normalize_data_format("Channels_Last"))
        self.assertEqual("channels_first",
                         conv_utils.normalize_data_format("CHANNELS_FIRST"))

        with self.assertRaises(ValueError):
            conv_utils.normalize_data_format("invalid")
Пример #4
0
	def __init__(self, pool_size=(2, 2), strides=None, dilation_rate=1, padding='valid',
				data_format=None, **kwargs):
		super(dilated_MaxPool2D, self).__init__(**kwargs)
		data_format = conv_utils.normalize_data_format(data_format)
		if dilation_rate != 1:
			strides = (1, 1)
		elif strides is None:
			strides = (1, 1)
		self.pool_size = conv_utils.normalize_tuple(pool_size, 2, 'pool_size')
		self.strides = conv_utils.normalize_tuple(strides, 2, 'strides')
		self.dilation_rate = dilation_rate
		self.padding = conv_utils.normalize_padding(padding)
		self.data_format = conv_utils.normalize_data_format(data_format)
		self.input_spec = InputSpec(ndim=4)
 def __init__(self, units, activation=None, **kwargs):
     super(ConvDense, self).__init__(**kwargs)
     self.filters = units
     rank = 2
     strides = (1, 1)
     padding = 'valid'
     data_format = None
     dilation_rate = (1, 1)
     use_bias = True
     kernel_initializer = 'glorot_uniform'
     kernel_regularizer = None
     bias_regularizer = None
     activity_regularizer = None
     kernel_constraint = None
     bias_constraint = None
     bias_initializer = 'zeros'
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.dilation_rate = conv_utils.normalize_tuple(
         dilation_rate, rank, 'dilation_rate')
     self.activation = activations.get(activation)
     self.use_bias = use_bias
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
Пример #6
0
 def __init__(self,
              size=(2, 2),
              data_format=None,
              interpolation="nearest",
              **kwargs):
     super().__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.size = conv_utils.normalize_tuple(size, 2, "size")
     interpolations = {
         "area": tf.image.ResizeMethod.AREA,
         "bicubic": tf.image.ResizeMethod.BICUBIC,
         "bilinear": tf.image.ResizeMethod.BILINEAR,
         "gaussian": tf.image.ResizeMethod.GAUSSIAN,
         "lanczos3": tf.image.ResizeMethod.LANCZOS3,
         "lanczos5": tf.image.ResizeMethod.LANCZOS5,
         "mitchellcubic": tf.image.ResizeMethod.MITCHELLCUBIC,
         "nearest": tf.image.ResizeMethod.NEAREST_NEIGHBOR,
     }
     interploations_list = '"' + '", "'.join(interpolations.keys()) + '"'
     if interpolation not in interpolations:
         raise ValueError(
             "`interpolation` argument should be one of: "
             f'{interploations_list}. Received: "{interpolation}".')
     self.interpolation = interpolation
     self.input_spec = InputSpec(ndim=4)
Пример #7
0
 def __init__(self, data_format=None, **kwargs):
     super().__init__(**kwargs)
     if get_backend() == "amd":
         self.data_format = K.normalize_data_format(data_format)  # pylint:disable=no-member
     else:
         self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = InputSpec(ndim=4)
 def __init__(self,
              ch_j,
              n_j,
              kernel_size=(3, 3),
              strides=(1, 1),
              r_num=1,
              b_alphas=[8, 8, 8],
              padding='valid',
              data_format='channels_last',
              dilation_rate=(1, 1),
              kernel_initializer='glorot_uniform',
              bias_initializer='zeros',
              kernel_regularizer=None,
              activity_regularizer=None,
              kernel_constraint=None,
              **kwargs):
     super(Conv2DCaps, self).__init__(**kwargs)
     rank = 2
     self.ch_j = ch_j  # Number of capsules in layer J
     self.n_j = n_j  # Number of neurons in a capsule in J
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank,
                                                   'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     self.r_num = r_num
     self.b_alphas = b_alphas
     self.padding = conv_utils.normalize_padding('valid')
     self.data_format = conv_utils.normalize_data_format('channels_last')
     self.dilation_rate = (1, 1)
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.input_spec = InputSpec(ndim=rank + 3)
Пример #9
0
 def __init__(self, offset_creator_class, weight_basis,
              filters,
              kernel_size,
              strides=(1, 1),
              padding='valid',
              data_format=None,
              activation=None,
              use_bias=True,
              kernel_initializer='glorot_uniform',
              bias_initializer='zeros',
              kernel_regularizer=None,
              bias_regularizer=None,
              activity_regularizer=None,
              kernel_constraint=None,
              bias_constraint=None,
              **kwargs):
     super(RProjLocallyConnected2D, self).__init__(offset_creator_class, weight_basis, **kwargs)
     self.filters = filters
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, 2, 'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, 2, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     if self.padding != 'valid':
         raise ValueError('Invalid border mode for LocallyConnected2D '
                          '(only "valid" is supported): ' + padding)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.activation = activations.get(activation)
     self.use_bias = use_bias
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
     self.input_spec = InputSpec(ndim=4)
Пример #10
0
 def __init__(self, data_format=None, eps=1e-7, **kwargs):
     super(AdaIN, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.spatial_axis = [
         1, 2
     ] if self.data_format == 'channels_last' else [2, 3]
     self.eps = eps
Пример #11
0
    def __init__(self,
                 ratio,
                 data_format=None,
                 use_bias=True,
                 kernel_initializer='glorot_uniform',
                 bias_initializer='zeros',
                 kernel_regularizer=None,
                 bias_regularizer=None,
                 activity_regularizer=None,
                 kernel_constraint=None,
                 bias_constraint=None,
                 **kwargs):
        super(SE, self).__init__(**kwargs)

        self.ratio = ratio
        self.data_format = conv_utils.normalize_data_format(data_format)

        self.use_bias = use_bias
        self.kernel_initializer = initializers.get(kernel_initializer)
        self.bias_initializer = initializers.get(bias_initializer)
        self.kernel_regularizer = regularizers.get(kernel_regularizer)
        self.bias_regularizer = regularizers.get(bias_regularizer)
        self.activity_regularizer = regularizers.get(activity_regularizer)
        self.kernel_constraint = constraints.get(kernel_constraint)
        self.bias_constraint = constraints.get(bias_constraint)
        self.supports_masking = True
Пример #12
0
    def __init__(self, filters=1, kernel_size=80, rank=1, strides=1, padding='valid',
                 data_format='channels_last', dilation_rate=1, activation=None, use_bias=True,
                 fsHz=1000.,
                 fc_initializer=initializers.RandomUniform(minval=10, maxval=400),
                 n_order_initializer=initializers.constant(4.),
                 amp_initializer=initializers.constant(10 ** 5),
                 beta_initializer=initializers.RandomNormal(mean=30, stddev=6),
                 bias_initializer='zeros',
                 **kwargs):
        super(Conv1D_gammatone, self).__init__(**kwargs)
        self.rank = rank
        self.filters = filters
        self.kernel_size_ = kernel_size
        self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank, 'kernel_size')
        self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
        self.padding = conv_utils.normalize_padding(padding)
        self.data_format = conv_utils.normalize_data_format(data_format)
        self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')
        self.activation = activations.get(activation)
        self.use_bias = use_bias
        self.bias_initializer = initializers.get(bias_initializer)
        self.fc_initializer = initializers.get(fc_initializer)
        self.n_order_initializer = initializers.get(n_order_initializer)
        self.amp_initializer = initializers.get(amp_initializer)
        self.beta_initializer = initializers.get(beta_initializer)
        self.input_spec = InputSpec(ndim=self.rank + 2)

        self.fsHz = fsHz
        self.t = tf.range(start=0, limit=kernel_size / float(fsHz),
                          delta=1 / float(fsHz), dtype=K.floatx())
        self.t = tf.expand_dims(input=self.t, axis=-1)
Пример #13
0
 def __init__(self, filters, kernel_size, rank=1, strides=1, padding='valid', data_format='channels_last',
              dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform',
              bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None,
              kernel_constraint=None, bias_constraint=None, type = 1, **kwargs):
     super(Conv1D_linearphaseType, self).__init__(**kwargs)
     self.rank = rank
     self.filters = filters
     self.kernel_size_=kernel_size
     if kernel_size % 2:
         self.kernel_size = conv_utils.normalize_tuple(kernel_size // 2 + 1, rank, 'kernel_size')
     else:
         self.kernel_size = conv_utils.normalize_tuple(kernel_size // 2, rank, 'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')
     self.activation = activations.get(activation)
     self.use_bias = use_bias
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
     self.input_spec = InputSpec(ndim=self.rank + 2)
     if type > 4:
         raise ValueError('FIR type should be between 1-4')
     else:
         self.type = type
	def __init__(self, rank,
				 filters,
				 kernel_size,
				 strides=1,
				 padding='valid',
				 data_format=None,
				 dilation_rate=1,
				 activation=None,
				 use_bias=True,
				 normalize_weight=False,
				 kernel_initializer='quaternion',
				 bias_initializer='zeros',
				 gamma_diag_initializer=sqrt_init,
				 gamma_off_initializer='zeros',
				 kernel_regularizer=None,
				 bias_regularizer=None,
				 gamma_diag_regularizer=None,
				 gamma_off_regularizer=None,
				 activity_regularizer=None,
				 kernel_constraint=None,
				 bias_constraint=None,
				 gamma_diag_constraint=None,
				 gamma_off_constraint=None,
				 init_criterion='he',
				 seed=None,
				 spectral_parametrization=False,
				 epsilon=1e-7,
				 **kwargs):
		super(QuaternionConv, self).__init__(**kwargs)
		self.rank = rank
		self.filters = filters
		self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank, 'kernel_size')
		self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
		self.padding = conv_utils.normalize_padding(padding)
		self.data_format = conv_utils.normalize_data_format(data_format)
		self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')
		self.activation = activations.get(activation)
		self.use_bias = use_bias
		self.normalize_weight = normalize_weight
		self.init_criterion = init_criterion
		self.spectral_parametrization = spectral_parametrization
		self.epsilon = epsilon
		self.kernel_initializer = sanitizedInitGet(kernel_initializer)
		self.bias_initializer = sanitizedInitGet(bias_initializer)
		self.gamma_diag_initializer = sanitizedInitGet(gamma_diag_initializer)
		self.gamma_off_initializer = sanitizedInitGet(gamma_off_initializer)
		self.kernel_regularizer = regularizers.get(kernel_regularizer)
		self.bias_regularizer = regularizers.get(bias_regularizer)
		self.gamma_diag_regularizer = regularizers.get(gamma_diag_regularizer)
		self.gamma_off_regularizer = regularizers.get(gamma_off_regularizer)
		self.activity_regularizer = regularizers.get(activity_regularizer)
		self.kernel_constraint = constraints.get(kernel_constraint)
		self.bias_constraint = constraints.get(bias_constraint)
		self.gamma_diag_constraint = constraints.get(gamma_diag_constraint)
		self.gamma_off_constraint = constraints.get(gamma_off_constraint)
		if seed is None:
			self.seed = np.random.randint(1, 10e6)
		else:
			self.seed = seed
		self.input_spec = InputSpec(ndim=self.rank + 2)
Пример #15
0
 def __init__(self, cropping=((0, 0), (0, 0)), data_format=None, **kwargs):
     super().__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     if isinstance(cropping, int):
         self.cropping = ((cropping, cropping), (cropping, cropping))
     elif hasattr(cropping, "__len__"):
         if len(cropping) != 2:
             raise ValueError(
                 "`cropping` should have two elements. "
                 f"Received: {cropping}."
             )
         height_cropping = conv_utils.normalize_tuple(
             cropping[0], 2, "1st entry of cropping", allow_zero=True
         )
         width_cropping = conv_utils.normalize_tuple(
             cropping[1], 2, "2nd entry of cropping", allow_zero=True
         )
         self.cropping = (height_cropping, width_cropping)
     else:
         raise ValueError(
             "`cropping` should be either an int, "
             "a tuple of 2 ints "
             "(symmetric_height_crop, symmetric_width_crop), "
             "or a tuple of 2 tuples of 2 ints "
             "((top_crop, bottom_crop), (left_crop, right_crop)). "
             f"Received: {cropping}."
         )
     self.input_spec = InputSpec(ndim=4)
Пример #16
0
 def __init__(self, rank,
              filters,
              kernel_size,
              strides=1,
              padding='valid',
              data_format=None,
              dilation_rate=1,
              activation=None,
              use_bias=True,
              bias_initializer='zeros',
              kernel_regularizer=None,
              bias_regularizer=None,
              activity_regularizer=None,
              kernel_constraint=None,
              bias_constraint=None,
              **kwargs):
     super(QConv, self).__init__(**kwargs)
     self.rank = rank
     self.filters = filters
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank, 'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     self.data_format = 'channels_last' if rank == 1 else conv_utils.normalize_data_format(data_format)
     self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')
     self.activation = activations.get(activation)
     self.use_bias = use_bias
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
     self.input_spec = InputSpec(ndim=self.rank + 2)
Пример #17
0
 def __init__(self,
              cropping=((1, 1), (1, 1), (1, 1)),
              data_format=None,
              **kwargs):
   super(Cropping3D, self).__init__(**kwargs)
   self.data_format = conv_utils.normalize_data_format(data_format)
   if isinstance(cropping, int):
     self.cropping = ((cropping, cropping), (cropping, cropping), (cropping,
                                                                   cropping))
   elif hasattr(cropping, '__len__'):
     if len(cropping) != 3:
       raise ValueError('`cropping` should have 3 elements. '
                        f'Received: {cropping}.')
     dim1_cropping = conv_utils.normalize_tuple(
         cropping[0], 2, '1st entry of cropping', allow_zero=True)
     dim2_cropping = conv_utils.normalize_tuple(
         cropping[1], 2, '2nd entry of cropping', allow_zero=True)
     dim3_cropping = conv_utils.normalize_tuple(
         cropping[2], 2, '3rd entry of cropping', allow_zero=True)
     self.cropping = (dim1_cropping, dim2_cropping, dim3_cropping)
   else:
     raise ValueError(
         '`cropping` should be either an int, '
         'a tuple of 3 ints '
         '(symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop), '
         'or a tuple of 3 tuples of 2 ints '
         '((left_dim1_crop, right_dim1_crop),'
         ' (left_dim2_crop, right_dim2_crop),'
         ' (left_dim3_crop, right_dim2_crop)). '
         f'Received: {cropping}.')
   self.input_spec = InputSpec(ndim=5)
Пример #18
0
 def __init__(self, padding=(1, 1), data_format=None, **kwargs):
     super().__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     if isinstance(padding, int):
         self.padding = ((padding, padding), (padding, padding))
     elif hasattr(padding, '__len__'):
         if len(padding) != 2:
             raise ValueError('`padding` should have two elements. '
                              f'Received: {padding}.')
         height_padding = conv_utils.normalize_tuple(padding[0],
                                                     2,
                                                     '1st entry of padding',
                                                     allow_zero=True)
         width_padding = conv_utils.normalize_tuple(padding[1],
                                                    2,
                                                    '2nd entry of padding',
                                                    allow_zero=True)
         self.padding = (height_padding, width_padding)
     else:
         raise ValueError('`padding` should be either an int, '
                          'a tuple of 2 ints '
                          '(symmetric_height_pad, symmetric_width_pad), '
                          'or a tuple of 2 tuples of 2 ints '
                          '((top_pad, bottom_pad), (left_pad, right_pad)). '
                          f'Received: {padding}.')
     self.input_spec = InputSpec(ndim=4)
Пример #19
0
 def __init__(self, data_format=None, **kwargs):
     super(_GlobalPooling2D, self).__init__(**kwargs)
     if get_backend() == "amd":
         self.data_format = K.normalize_data_format(data_format)
     else:
         self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = InputSpec(ndim=4)
Пример #20
0
 def __init__(self,
              padding=(1, 1),
              data_format=None,
              **kwargs):
     super(ReflectionPadding2D, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     if isinstance(padding, int):
         self.padding = ((padding, padding), (padding, padding))
     elif hasattr(padding, '__len__'):
         if len(padding) != 2:
             raise ValueError('`padding` should have two elements. '
                              'Found: ' + str(padding))
         height_padding = conv_utils.normalize_tuple(padding[0], 2,
                                                     '1st entry of padding')
         width_padding = conv_utils.normalize_tuple(padding[1], 2,
                                                    '2nd entry of padding')
         self.padding = (height_padding, width_padding)
     else:
         raise ValueError('`padding` should be either an int, '
                          'a tuple of 2 ints '
                          '(symmetric_height_pad, symmetric_width_pad), '
                          'or a tuple of 2 tuples of 2 ints '
                          '((top_pad, bottom_pad), (left_pad, right_pad)). '
                          'Found: ' + str(padding))
     self.input_spec = InputSpec(ndim=4)
Пример #21
0
    def __init__(self, filters, kernel_size,
                 kernel_initializer='glorot_uniform', activation=None, weights=None,
                 padding='valid', strides=(1, 1), data_format=None,
                 kernel_regularizer=None, bias_regularizer=None,
                 activity_regularizer=None,
                 kernel_constraint=None, bias_constraint=None,
                 use_bias=True, **kwargs):
        if data_format is None:
            data_format = K.image_data_format()
        if padding not in {'valid', 'same', 'full'}:
            raise ValueError('Invalid border mode for CosineConvolution2D:', padding)
        self.filters = filters
        self.kernel_size = kernel_size
        self.nb_row, self.nb_col = self.kernel_size
        self.kernel_initializer = initializers.get(kernel_initializer)
        self.activation = activations.get(activation)
        self.padding = padding
        self.strides = tuple(strides)
        self.data_format = normalize_data_format(data_format)
        self.kernel_regularizer = regularizers.get(kernel_regularizer)
        self.bias_regularizer = regularizers.get(bias_regularizer)
        self.activity_regularizer = regularizers.get(activity_regularizer)

        self.kernel_constraint = constraints.get(kernel_constraint)
        self.bias_constraint = constraints.get(bias_constraint)

        self.use_bias = use_bias
        self.input_spec = [InputSpec(ndim=4)]
        self.initial_weights = weights
        super(CosineConvolution2D, self).__init__(**kwargs)
Пример #22
0
 def __init__(self,
              filters,
              kernel_size,
              strides=(1, 1),
              padding='valid',
              data_format=None,
              dilation_rate=(1, 1),
              return_sequences=False,
              go_backwards=False,
              stateful=False,
              **kwargs):
     super(ConvRecurrent2D, self).__init__(**kwargs)
     self.filters = filters
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, 2,
                                                   'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, 2, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     import keras
     if keras.__version__ > "2.1.3":
         from keras.backend import normalize_data_format
         # self.data_format = K.normalize_data_format(data_format)
         self.data_format = normalize_data_format(data_format)
     else:
         self.data_format = conv_utils.normalize_data_format(data_format)
     # self.data_format = conv_utils.normalize_data_format(data_format)
     self.dilation_rate = conv_utils.normalize_tuple(
         dilation_rate, 2, 'dilation_rate')
     self.return_sequences = return_sequences
     self.go_backwards = go_backwards
     self.stateful = stateful
     self.input_spec = [InputSpec(ndim=5)]
     self.state_spec = None
Пример #23
0
    def __init__(self,
                 rank,
                 filters,
                 kernel_size,
                 strides=1,
                 padding='valid',
                 data_format=None,
                 dilation_rate=1,
                 activation='tanh',
                 recurrent_activation='hard_sigmoid',
                 use_bias=True,
                 kernel_initializer='glorot_uniform',
                 recurrent_initializer='orthogonal',
                 bias_initializer='zeros',
                 unit_forget_bias=True,
                 kernel_regularizer=None,
                 recurrent_regularizer=None,
                 bias_regularizer=None,
                 kernel_constraint=None,
                 recurrent_constraint=None,
                 bias_constraint=None,
                 dropout=0.0,
                 recurrent_dropout=0.0,
                 **kwargs):
        super().__init__(**kwargs)
        self.rank = rank
        if self.rank > 3:
            raise ValueError(f'Rank {rank} convolutions are not currently '
                             f'implemented. Received: rank={rank}')
        self.filters = filters
        self.kernel_size = conv_utils.normalize_tuple(kernel_size, self.rank,
                                                      'kernel_size')
        self.strides = conv_utils.normalize_tuple(strides,
                                                  self.rank,
                                                  'strides',
                                                  allow_zero=True)
        self.padding = conv_utils.normalize_padding(padding)
        self.data_format = conv_utils.normalize_data_format(data_format)
        self.dilation_rate = conv_utils.normalize_tuple(
            dilation_rate, self.rank, 'dilation_rate')
        self.activation = activations.get(activation)
        self.recurrent_activation = activations.get(recurrent_activation)
        self.use_bias = use_bias

        self.kernel_initializer = initializers.get(kernel_initializer)
        self.recurrent_initializer = initializers.get(recurrent_initializer)
        self.bias_initializer = initializers.get(bias_initializer)
        self.unit_forget_bias = unit_forget_bias

        self.kernel_regularizer = regularizers.get(kernel_regularizer)
        self.recurrent_regularizer = regularizers.get(recurrent_regularizer)
        self.bias_regularizer = regularizers.get(bias_regularizer)

        self.kernel_constraint = constraints.get(kernel_constraint)
        self.recurrent_constraint = constraints.get(recurrent_constraint)
        self.bias_constraint = constraints.get(bias_constraint)

        self.dropout = min(1.0, max(0.0, dropout))
        self.recurrent_dropout = min(1.0, max(0.0, recurrent_dropout))
        self.state_size = (self.filters, self.filters)
Пример #24
0
 def __init__(self, size=(2, 2), data_format=None, **kwargs):
     super().__init__(**kwargs)
     if get_backend() == "amd":
         self.data_format = K.normalize_data_format(data_format)
     else:
         self.data_format = conv_utils.normalize_data_format(data_format)
     self.size = conv_utils.normalize_tuple(size, 2, 'size')
Пример #25
0
 def __init__(self,
              filters,
              kernel_size,
              strides=1,
              rank=2,
              padding='valid',
              data_format=None,
              use_bias=True,
              kernel_initializer='glorot_uniform',
              bias_initializer='zeros',
              kernel_regularizer=None,
              bias_regularizer=None,
              kernel_constraint=None,
              bias_constraint=None,
              **kwargs):
     super(Conv2D121, self).__init__(**kwargs)
     self.rank = rank
     self.filters = filters
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank,
                                                   'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     # normalize_padding: 检查padding的值,只有['valid', 'same', 'causal']三个值合法
     self.padding = conv_utils.normalize_padding(padding)
     # data_format: 检查
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.use_bias = use_bias,
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
     self.input_spec = InputSpec(ndim=self.rank + 2)
Пример #26
0
	def __init__(self,
					input_dim,
					output_dim,
					data_format=None,
					activation=None,
					use_bias=True,
					kernel_initializer='glorot_uniform',
					bias_initializer='zeros',
					kernel_regularizer=None,
					bias_regularizer=None,
					activity_regularizer=None,
					kernel_constraint=None,
					bias_constraint=None,
					**kwargs):
		super(TensorProd2D, self).__init__(**kwargs)
		self.input_dim = input_dim
		self.output_dim = output_dim
		self.data_format = conv_utils.normalize_data_format(data_format)
		self.activation = activations.get(activation)
		self.use_bias = use_bias
		self.kernel_initializer = initializers.get(kernel_initializer)
		self.bias_initializer = initializers.get(bias_initializer)
		self.kernel_regularizer = regularizers.get(kernel_regularizer)
		self.bias_regularizer = regularizers.get(bias_regularizer)
		self.activity_regularizer = regularizers.get(activity_regularizer)
		self.kernel_constraint = constraints.get(kernel_constraint)
		self.bias_constraint = constraints.get(bias_constraint)
		self.input_spec = InputSpec(min_ndim=2)
Пример #27
0
 def __init__(self,
              size=(2, 2),
              data_format=None,
              interpolation='nearest',
              **kwargs):
     super(UpSampling2D, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.size = conv_utils.normalize_tuple(size, 2, 'size')
     interpolations = {
         'area': tf.image.ResizeMethod.AREA,
         'bicubic': tf.image.ResizeMethod.BICUBIC,
         'bilinear': tf.image.ResizeMethod.BILINEAR,
         'gaussian': tf.image.ResizeMethod.GAUSSIAN,
         'lanczos3': tf.image.ResizeMethod.LANCZOS3,
         'lanczos5': tf.image.ResizeMethod.LANCZOS5,
         'mitchellcubic': tf.image.ResizeMethod.MITCHELLCUBIC,
         'nearest': tf.image.ResizeMethod.NEAREST_NEIGHBOR,
     }
     interploations_list = '"' + '", "'.join(interpolations.keys()) + '"'
     if interpolation not in interpolations:
         raise ValueError(
             '`interpolation` argument should be one of: '
             f'{interploations_list}. Received: "{interpolation}".')
     self.interpolation = interpolation
     self.input_spec = InputSpec(ndim=4)
Пример #28
0
    def __init__(self, scale_factor=2, data_format=None, **kwargs):
        super().__init__(**kwargs)

        self.scale_factor = scale_factor
        if get_backend() == "amd":
            self.data_format = K.normalize_data_format(data_format)  # pylint:disable=no-member
        else:
            self.data_format = conv_utils.normalize_data_format(data_format)
Пример #29
0
 def __init__(self, data_format=None, **kwargs):
     super(Maxima2D, self).__init__(**kwargs)
     # Update to K.normalize_data_format after keras 2.2.0
     if parse_version(keras.__version__) > parse_version("2.2.0"):
         self.data_format = K.normalize_data_format(data_format)
     else:
         self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = InputSpec(ndim=4)
Пример #30
0
 def __init__(self, size=(2, 2), num_pixels = (0, 0), data_format='channels_last', method_name='FgSegNet_M', **kwargs):
     super(MyUpSampling2D, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.size = conv_utils.normalize_tuple(size, 2, 'size')
     self.input_spec = InputSpec(ndim=4)
     self.num_pixels = num_pixels
     self.method_name = method_name
     assert method_name in ['FgSegNet_M', 'FgSegNet_S', 'FgSegNet_v2'], 'Provided method_name is incorrect.'
Пример #31
0
    def __init__(self, scale_factor=2, data_format=None, **kwargs):
        super(SubPixelUpscaling, self).__init__(**kwargs)

        self.scale_factor = scale_factor
        if get_backend() == "amd":
            self.data_format = K.normalize_data_format(data_format)
        else:
            self.data_format = conv_utils.normalize_data_format(data_format)
Пример #32
0
    def __init__(self, upsampling=(2, 2), output_size=None, data_format=None, **kwargs):

        super(BilinearUpsampling, self).__init__(**kwargs)

        self.data_format = conv_utils.normalize_data_format(data_format)
        self.input_spec = InputSpec(ndim=4)
        if output_size:
            self.output_size = conv_utils.normalize_tuple(
                output_size, 2, 'output_size')
            self.upsampling = None
        else:
            self.output_size = None
            self.upsampling = conv_utils.normalize_tuple(
                upsampling, 2, 'upsampling')
Пример #33
0
    def __init__(self, target_shape, offset=None, data_format=None,
                 **kwargs):
        """Crop to target.

        If only one `offset` is set, then all dimensions are offset by this amount.

        """
        super(CroppingLike2D, self).__init__(**kwargs)
        self.data_format = conv_utils.normalize_data_format(data_format)
        self.target_shape = target_shape
        if offset is None or offset == 'centered':
            self.offset = 'centered'
        elif isinstance(offset, int):
            self.offset = (offset, offset)
        elif hasattr(offset, '__len__'):
            if len(offset) != 2:
                raise ValueError('`offset` should have two elements. '
                                 'Found: ' + str(offset))
            self.offset = offset
        self.input_spec = InputSpec(ndim=4)
Пример #34
0
 def __init__(self, fwh_projector, rank,
              filters,
              kernel_size,
              strides=1,
              padding='valid',
              data_format=None,
              dilation_rate=1,
              activation=None,
              use_bias=True,
              kernel_initializer='glorot_uniform',
              bias_initializer='zeros',
              kernel_regularizer=None,
              bias_regularizer=None,
              activity_regularizer=None,
              kernel_constraint=None,
              bias_constraint=None,
              **kwargs):
     # embed()
     super(_RProjFWHConv, self).__init__(**kwargs)
     self.fwh_projector = fwh_projector
     self.rank = rank
     self.filters = filters
     self.kernel_size = conv_utils.normalize_tuple(kernel_size, rank, 'kernel_size')
     self.strides = conv_utils.normalize_tuple(strides, rank, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.dilation_rate = conv_utils.normalize_tuple(dilation_rate, rank, 'dilation_rate')
     self.activation = activations.get(activation)
     self.use_bias = use_bias
     self.kernel_initializer = initializers.get(kernel_initializer)
     self.bias_initializer = initializers.get(bias_initializer)
     self.kernel_regularizer = regularizers.get(kernel_regularizer)
     self.bias_regularizer = regularizers.get(bias_regularizer)
     self.activity_regularizer = regularizers.get(activity_regularizer)
     self.kernel_constraint = constraints.get(kernel_constraint)
     self.bias_constraint = constraints.get(bias_constraint)
     self.input_spec = InputSpec(ndim=self.rank + 2)
Пример #35
0
    def __init__(self, scale_factor=2, data_format=None, **kwargs):
        super(SubPixelUpscaling, self).__init__(**kwargs)

        self.scale_factor = scale_factor
        self.data_format = normalize_data_format(data_format)
Пример #36
0
def test_invalid_data_format():
    with pytest.raises(ValueError):
        conv_utils.normalize_data_format('channels_middle')
Пример #37
0
 def __init__(self, data_format=None, **kwargs):
     super(Maxima2D, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = InputSpec(ndim=4)
Пример #38
0
 def __init__(self, size=(2, 2), data_format=None, interpolation='nearest', **kwargs):
     super(UpSampling2D, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.interpolation = interpolation
     self.size = conv_utils.normalize_tuple(size, 2, 'size')
     self.input_spec = InputSpec(ndim=4)
 def __init__(self, size=(2, 2), data_format=None, **kwargs):
     super(PixelShuffler, self).__init__(**kwargs)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.size = conv_utils.normalize_tuple(size, 2, 'size')