def METHOD_NAME(self, x):
    weight_shape = (3, 3, ifm_shape[3], 4)
    weight = tf.constant(
        np.random.uniform(low=0, high=0.3, size=weight_shape), dtype=tf.float32
    )
    # The input strides to the TensorFlow API needs to be of shape 1x4
    op = tf.nn.conv2d(x, weight, strides=(1, 2, 2, 1), padding="SAME", dilations=(1, 1))
    op = tf.nn.tanh(op)
    op = tf.nn.tanh(op)
    weight_shape2 = (2, 3, 4, 1)
    weight2 = tf.constant(
        np.random.uniform(low=0, high=0.3, size=weight_shape2), dtype=tf.float32
    )
    op = tf.nn.depthwise_conv2d(
        op, weight2, strides=(1, 1, 1, 1), padding="VALID", dilations=(2, 2)
    )
    op = tf.nn.sigmoid(op)
    op = tf.nn.max_pool(op, (1, 1), strides=(1, 1, 1, 1), padding="SAME")
    op = tf.nn.tanh(op)
    return op