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)
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)
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)
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])
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)
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)
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)
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)
def _core_relu(self, **layer_kwargs): agreement_test(tfe.keras.layers.ReLU, kwargs=layer_kwargs, input_shape=[1, 5], rtol=.1)