code: def test_separable_conv2d(
      self,
      depth_multiplier,
      filters,
      kernel_size,
      strides,
      padding,
      data_format,
      dilation_rate,
  ):
      layer = layers.SeparableConv2D(
          depth_multiplier=depth_multiplier,
          filters=filters,
          kernel_size=kernel_size,
          strides=strides,
          padding=padding,
          data_format=data_format,
          dilation_rate=dilation_rate,
      )
  
      inputs = np.random.normal(size=[2, 8, 8, 4])
      layer.build(input_shape=inputs.shape)
  
      depthwise_kernel_shape = layer.depthwise_kernel.shape
      depthwise_kernel_weights = np.random.normal(
          size=depthwise_kernel_shape
      )
      layer.depthwise_kernel.assign(depthwise_kernel_weights)
  
      pointwise_kernel_shape = layer.pointwise_kernel.shape
      pointwise_kernel_weights = np.random.normal(
          size=pointwise_kernel_shape
      )
      layer.pointwise_kernel.assign(pointwise_kernel_weights)
  
      bias_weights = np.random.normal(size=(filters,))
      layer.bias.assign(bias_weights)
  
      outputs = layer(inputs)
      expected_depthwise = np_depthwise_conv2d(
          inputs,
          depthwise_kernel_weights,
          np.zeros(4 * depth_multiplier),
          strides=strides,
          padding=padding,
          data_format=data_format,
          dilation_rate=dilation_rate,
      )
      expected = np_conv2d(
          expected_depthwise,
          pointwise_kernel_weights,
          bias_weights,
          strides=1,
          padding=padding,
          data_format=data_format,
          dilation_rate=1,
          groups=1,
      )
  
      self.assertAllClose(outputs.shape, expected.shape)
      self.assertAllClose(outputs, expected, rtol=1e-5, atol=1e-5)
  
file_path: keras/keras/layers/convolutional/separable_conv_test.py
imports: import numpy
  import pytest
  from absl.testing import parameterized
  from keras import layers
  from keras import testing
  from keras.layers.convolutional.conv_test import np_conv1d
  from keras.layers.convolutional.conv_test import np_conv2d
  from keras.layers.convolutional.depthwise_conv_test import np_depthwise_conv1d
  from keras.layers.convolutional.depthwise_conv_test import np_depthwise_conv2d
label_desc: Use image node_id 2 for calling the SeparableConvCorrectnessTest obj's underlying member method code with example usage: obj.test_separable_conv2d(depth_multiplier, filters, kernel_size, strides, padding, data_format, dilation_rate) without return types