Пример #1
0
  def _core_depthwise_conv2d(self, **layer_kwargs):
    filters_in = 3
    input_shape = [2, 6, 6, filters_in]  # channels last

    if isinstance(layer_kwargs['kernel_size'], int):
      kernel_size_in = (layer_kwargs['kernel_size'],) * 2
    else:
      kernel_size_in = layer_kwargs['kernel_size']

    filters_out = layer_kwargs.get('depth_multiplier', 1)

    kernel = np.random.normal(kernel_size_in +
                              (filters_in, filters_out))

    initializer = tf.keras.initializers.Constant(kernel)

    base_kwargs = {
        "strides": 2,
        "depthwise_initializer": initializer,
    }

    kwargs = {**base_kwargs, **layer_kwargs}
    agreement_test(tfe.keras.layers.DepthwiseConv2D,
                   kwargs=kwargs,
                   input_shape=input_shape,
                   atol=1e-2)
    layer_test(tfe.keras.layers.DepthwiseConv2D,
               kwargs=kwargs,
               batch_input_shape=input_shape)
Пример #2
0
  def _core_conv2d(self, **layer_kwargs):
    filters_in = 3
    input_shape = [2, 6, 6, filters_in]  # channels last
    filters = 5

    if isinstance(layer_kwargs['kernel_size'], int):
      kernel_size_in = (layer_kwargs['kernel_size'],) * 2
    else:
      kernel_size_in = layer_kwargs['kernel_size']

    kernel = np.random.normal(kernel_size_in +
                              (filters_in, filters))
    initializer = tf.keras.initializers.Constant(kernel)

    base_kwargs = {
        "filters": filters,
        "strides": 2,
        "kernel_initializer": initializer,
    }

    kwargs = {**base_kwargs, **layer_kwargs}
    agreement_test(tfe.keras.layers.Conv2D,
                   kwargs=kwargs,
                   input_shape=input_shape)
    layer_test(tfe.keras.layers.Conv2D,
               kwargs=kwargs,
               batch_input_shape=input_shape)
Пример #3
0
    def _core_flatten(self, **layer_kwargs):
        input_shape = layer_kwargs['input_shape']

        agreement_test(tfe.keras.layers.Flatten,
                       kwargs=layer_kwargs,
                       input_shape=input_shape,
                       atol=.1)
Пример #4
0
 def _core_activation(self, **layer_kwargs):
     agreement_test(tfe.keras.layers.Activation,
                    kwargs=layer_kwargs,
                    input_shape=[1, 5])
     layer_test(tfe.keras.layers.Activation,
                kwargs=layer_kwargs,
                batch_input_shape=[1, 5])
Пример #5
0
    def _core_reshape(self, input_shape, **layer_kwargs):

        kwargs = {**layer_kwargs}
        agreement_test(tfe.keras.layers.Reshape,
                       kwargs=kwargs,
                       input_shape=input_shape)
        layer_test(tfe.keras.layers.Reshape,
                   kwargs=kwargs,
                   batch_input_shape=input_shape)
    def _core_batchnorm(self, input_shape, **layer_kwargs):
        base_kwargs = {'fused': False}

        kwargs = {**base_kwargs, **layer_kwargs}

        agreement_test(tfe.keras.layers.BatchNormalization,
                       kwargs=kwargs,
                       input_shape=input_shape)
        layer_test(tfe.keras.layers.BatchNormalization,
                   kwargs=kwargs,
                   batch_input_shape=input_shape)
Пример #7
0
    def _core_global_avgpooling2d(self, **layer_kwargs):
        channel_in = 2
        input_shape = [2, 8, 8, channel_in]  # channels last

        base_kwargs = {}

        kwargs = {**base_kwargs, **layer_kwargs}
        agreement_test(tfe.keras.layers.GlobalAveragePooling2D,
                       kwargs=kwargs,
                       input_shape=input_shape)
        layer_test(tfe.keras.layers.GlobalAveragePooling2D,
                   kwargs=kwargs,
                   batch_input_shape=input_shape)
Пример #8
0
    def _core_dense(self, **layer_kwargs):
        input_shape = [4, 5]
        kernel = np.random.normal(input_shape[::-1])
        initializer = tf.keras.initializers.Constant(kernel)

        base_kwargs = {
            "units": 4,
            "kernel_initializer": initializer,
        }
        kwargs = {**base_kwargs, **layer_kwargs}
        agreement_test(tfe.keras.layers.Dense,
                       kwargs=kwargs,
                       input_shape=input_shape)
Пример #9
0
    def _core_avgpooling2d(self, **layer_kwargs):
        channel_in = 2
        input_shape = [2, 8, 8, channel_in]  # channels last
        pool_size_in = 2

        base_kwargs = {
            "pool_size": pool_size_in,
        }

        kwargs = {**base_kwargs, **layer_kwargs}
        agreement_test(tfe.keras.layers.AveragePooling2D,
                       kwargs=kwargs,
                       input_shape=input_shape)
        layer_test(tfe.keras.layers.AveragePooling2D,
                   kwargs=kwargs,
                   batch_input_shape=input_shape)
Пример #10
0
 def _core_relu(self, **layer_kwargs):
   agreement_test(tfe.keras.layers.ReLU,
                  kwargs=layer_kwargs,
                  input_shape=[1, 5],
                  rtol=.1)