code: def _resnet(x, blocks_per_layer, classes, filters):
      x = tf.keras.layers.ZeroPadding2D(padding=3, name="conv1_pad")(x)
      x = tf.keras.layers.Conv2D(
          filters=filters,
          kernel_size=7,
          strides=2,
          use_bias=False,
          kernel_initializer=_kaiming_normal,
          name="conv1",
      )(x)
      x = tf.keras.layers.BatchNormalization(
          momentum=0.9, epsilon=1e-5, name="bn1"
      )(x)
      x = tf.keras.layers.ReLU(name="relu1")(x)
      x = tf.keras.layers.ZeroPadding2D(padding=1, name="maxpool_pad")(
          x
      )
      x = tf.keras.layers.MaxPool2D(
          pool_size=3, strides=2, name="maxpool"
      )(x)
  
      x = _make_layer(x, filters, blocks_per_layer[0], name="layer1")
  
      x = tf.keras.layers.GlobalAveragePooling2D(name="avgpool")(x)
      initializer = tf.keras.initializers.RandomUniform(
          -1.0 / (2 * filters) ** 0.5, 1.0 / (2 * filters) ** 0.5
      )
      x = tf.keras.layers.Dense(
          units=classes,
          kernel_initializer=initializer,
          bias_initializer=initializer,
          name="fc",
      )(x)
  
      return x
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import jax
  from jax import numpy
  import neural_tangents
  from neural_tangents import experimental
  import numpy
  import tensorflow
label_desc: Use image node_id 12 for calling a global function with example usage: _resnet(x, blocks_per_layer, classes, filters) and returns: x