Пример #1
0
 def __init__(self,
              filters,
              data_format=None,
              activation=tf.nn.relu,
              *args,
              **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {
         'strides': (2, 2, 2),
         'padding': 'same',
         'data_format': data_format,
         'filters': filters
     }
     layers = [
         Conv3D(kernel_size=(9, 9, 9),
                use_bias=True,
                activation=activation,
                **params),
         Conv3D(kernel_size=(5, 5, 5),
                use_bias=True,
                activation=activation,
                **params),
         Conv3D(kernel_size=(5, 5, 5),
                use_bias=False,
                activation=None,
                **params)
     ]
     super(AnalysisTransformV1, self).__init__(layers, *args, **kwargs)
Пример #2
0
 def __init__(self,
              filters,
              data_format=None,
              kernel_size=(3, 3, 3),
              strides=(2, 2, 2),
              activation=tf.nn.relu,
              *args,
              **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {
         'padding': 'same',
         'data_format': data_format,
         'use_bias': True,
         'activation': activation,
         'filters': filters,
         'kernel_size': kernel_size
     }
     layers = [
         Conv3DTranspose(strides=strides, **params),
         Conv3DTranspose(**params),
         Conv3DTranspose(**params)
     ]
     super(SynthesisBlock, self).__init__(layers,
                                          *args,
                                          data_format=data_format,
                                          **kwargs)
Пример #3
0
 def __init__(self,
              filters,
              data_format=None,
              kernel_size=(3, 3, 3),
              activation=tf.nn.relu,
              residual_mode='add',
              *args,
              **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {
         'kernel_size': kernel_size,
         'activation': activation,
         'data_format': data_format,
         'residual_mode': residual_mode
     }
     layers = [
         SynthesisBlock(filters, **params),
         SynthesisBlock(filters // 2, **params),
         SynthesisBlock(filters // 4, **params),
         Conv3DTranspose(1,
                         kernel_size,
                         padding="same",
                         use_bias=True,
                         activation=activation,
                         data_format=data_format)
     ]
     super(SynthesisTransformProgressiveV2,
           self).__init__(layers, *args, **kwargs)
Пример #4
0
 def __init__(self,
              filters,
              data_format=None,
              kernel_size=(3, 3, 3),
              activation=tf.nn.relu,
              residual_mode='add',
              *args,
              **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {
         'kernel_size': kernel_size,
         'activation': activation,
         'data_format': data_format,
         'residual_mode': residual_mode
     }
     layers = [
         AnalysisBlock(filters // 2, **params),
         AnalysisBlock(filters, **params),
         AnalysisBlock(filters, **params),
         Conv3D(filters,
                kernel_size,
                padding="same",
                use_bias=False,
                activation=None,
                data_format=data_format)
     ]
     super(AnalysisTransformV2, self).__init__(layers, *args, **kwargs)
Пример #5
0
 def __init__(self, filters, data_format=None, kernel_size=(3, 3, 3), activation=tf.nn.relu, *args, **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {'padding': 'same', 'data_format': data_format, 'filters': filters, 'kernel_size': kernel_size}
     layers = [Conv3D(use_bias=True, activation=activation, **params),
               Conv3D(use_bias=True, activation=activation, strides=(2, 2, 2), **params),
               Conv3D(use_bias=False, activation=None, **params)]
     super(HyperAnalysisTransform, self).__init__(layers, *args, **kwargs)
Пример #6
0
 def __init__(self, filters, data_format=None, kernel_size=(3, 3, 3), strides=(2, 2, 2), activation=tf.nn.relu, *args, **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {'padding': 'same', 'data_format': data_format,
               'filters': filters, 'kernel_size': kernel_size, 'use_bias': True}
     layers = [Conv3D(strides=strides, activation=activation() **params),
               AnalysisBlockV3Base(filters=filters, data_format=data_format),
               AnalysisBlockV3Base(filters=filters, data_format=data_format)]
     super(AnalysisBlockV3, self).__init__(layers, *args, data_format=data_format, **kwargs)
Пример #7
0
 def __init__(self, filters, data_format=None, activation=tf.nn.relu, *args, **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {'strides': (2, 2, 2), 'padding': 'same', 'data_format': data_format, 'use_bias': True,
               'activation': activation}
     layers = [Conv3DTranspose(filters, (5, 5, 5), **params),
               Conv3DTranspose(filters, (5, 5, 5), **params),
               Conv3DTranspose(1, (9, 9, 9), **params)]
     super(SynthesisTransformV1, self).__init__(layers, *args, **kwargs)
Пример #8
0
 def __init__(self, filters, data_format=None, activation=ACTIVATION, *args, **kwargs):
     data_format = conv_utils.normalize_data_format(data_format)
     params = {'activation': activation, 'data_format': data_format}
     layers = [AnalysisBlock(filters // 4, **params),
               AnalysisBlockV4(filters // 2, **params),
               AnalysisBlockV4(filters, **params),
               Conv3D(filters, (3, 3, 3), padding="same", use_bias=False, activation=None,
                      data_format=data_format)]
     super(AnalysisTransformProgressiveV6, self).__init__(layers, *args, **kwargs)
Пример #9
0
 def __init__(self, filters, data_format=None, activation=ACTIVATION, *args, **kwargs):
     self.data_format = conv_utils.normalize_data_format(data_format)
     params = {'padding': 'same', 'data_format': data_format, 'use_bias': True}
     self.paths = [[Conv3D(kernel_size=(1,1,1), activation=activation(), filters=filters // 4, **params)],
                   [Conv3D(kernel_size=(1,1,1), activation=activation(), filters=filters // 2, **params),
                    [Conv3D(kernel_size=(1,1,3), activation=activation(), filters=filters // 4, **params), Conv3D(kernel_size=(3,3,1), activation=activation(), filters=filters // 4, **params),
                     Conv3D(kernel_size=(3,1,1), activation=activation(), filters=filters // 4, **params), Conv3D(kernel_size=(1,3,3), activation=activation(), filters=filters // 4, **params),
                     Conv3D(kernel_size=(1,3,1), activation=activation(), filters=filters // 4, **params), Conv3D(kernel_size=(3,1,3), activation=activation(), filters=filters // 4, **params)]]]
     super(AnalysisBlockV3Base, self).__init__(Self.paths, *args, **kwargs)
Пример #10
0
 def __init__(self,
              layers,
              residual_mode='add',
              data_format=None,
              *args,
              **kwargs):
     super(ResidualLayer, self).__init__(*args, **kwargs)
     assert residual_mode in ('add', 'concat')
     self._layers = layers
     self.residual_mode = residual_mode
     self.data_format = conv_utils.normalize_data_format(data_format)
Пример #11
0
 def __init__(self,
              pool_size,
              strides,
              padding='valid',
              data_format=None,
              name=None,
              **kwargs):
     super(MaxPoolWithArgmax2D, self).__init__(name=name, **kwargs)
     if data_format is None:
         data_format = tf.keras.backend.image_data_format()
     if strides is None:
         strides = pool_size
     self.pool_size = conv_utils.normalize_tuple(pool_size, 2, 'pool_size')
     self.strides = conv_utils.normalize_tuple(strides, 2, 'strides')
     self.padding = conv_utils.normalize_padding(padding)
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = tf.keras.layers.InputSpec(ndim=4)
Пример #12
0
 def __init__(self, data_format='channels_last', name=None, **kwargs):
     super(MaxUnpool2D, self).__init__(**kwargs)
     if data_format is None:
         data_format = tf.keras.backend.image_data_format()
     self.data_format = conv_utils.normalize_data_format(data_format)
     self.input_spec = tf.keras.layers.InputSpec(min_ndim=2, max_ndim=4)