def METHOD_NAME(self):
    print("starting python model optimization cross layer scaling test for non depthwise")
    # Generating random numbers from a normal distribution for the weights and biases of the current and prev layer
    np.random.seed(1)
    total = 2 * 3 * 2 * 2
    weight1 = np.array(np.random.randn(total))
    bias1 = np.array(np.random.randn(2))
    weight2 = np.array(np.random.randn(total))
    weight_sz1 = np.array([2, 3, 2, 2])
    weight_sz2 = np.array([3, 2, 2, 2])
    # Initializing the struct EqualizationParams
    prev_layer_params = libpymo.EqualizationParams()
    curr_layer_params = libpymo.EqualizationParams()
    prev_layer_params.weight = weight1
    prev_layer_params.weightShape = weight_sz1
    prev_layer_params.bias = bias1
    prev_layer_params.isBiasNone = False
    curr_layer_params.weight = weight2
    curr_layer_params.weightShape = weight_sz2
    w1, w2, b1, scale_factor = cross_layer_scaling_python_implementation(weight1.reshape(weight_sz1),
                                                                         weight2.reshape(weight_sz2),
                                                                         bias1)
    rescaling_vector = libpymo.scaleLayerParams(prev_layer_params, curr_layer_params)
    assert (np.allclose(w1.flatten(), prev_layer_params.weight))
    assert (np.allclose(w2.flatten(), curr_layer_params.weight))
    assert (np.allclose(b1, prev_layer_params.bias))
    assert (np.allclose(scale_factor, rescaling_vector))