code: def test_instance_norm_compute_output_shape(center, scale):
      target_variables_len = [center, scale].count(True)
      target_trainable_variables_len = [center, scale].count(True)
      layer1 = InstanceNormalization(
          groups=2, center=center, scale=scale
      )
      layer1.build(input_shape=[8, 28, 28, 16])  # build()
      assert len(layer1.variables) == target_variables_len
      assert (
          len(layer1.trainable_variables)
          == target_trainable_variables_len
      )
  
      layer2 = InstanceNormalization(
          groups=2, center=center, scale=scale
      )
      layer2.compute_output_shape(
          input_shape=[8, 28, 28, 16]
      )  # compute_output_shape()
      assert len(layer2.variables) == target_variables_len
      assert (
          len(layer2.trainable_variables)
          == target_trainable_variables_len
      )
  
      layer3 = InstanceNormalization(
          groups=2, center=center, scale=scale
      )
      layer3(tf.random.normal(shape=[8, 28, 28, 16]))  # call()
      assert len(layer3.variables) == target_variables_len
      assert (
          len(layer3.trainable_variables)
          == target_trainable_variables_len
      )
  
imports: import pytest
  import numpy
  import tensorflow
  from tensorflow_addons.layers.normalizations import FilterResponseNormalization
  from tensorflow_addons.layers.normalizations import GroupNormalization
  from tensorflow_addons.layers.normalizations import InstanceNormalization
label_desc: Use image node_id 22 for calling a global function with example usage: test_instance_norm_compute_output_shape(center, scale) without return types