class_docstr: ConvNeXt
      A Tensorflow impl of : `A ConvNet for the 2020s`  -
        https://arxiv.org/pdf/2201.03545.pdf
  Args:
      num_classes (int): Number of classes for classification head. Default: 1000
      depths (tuple(int)): Number of blocks at each stage. Default: [3, 3, 9, 3]
      dims (int): Feature dimension at each stage. Default: [96, 192, 384, 768]
      drop_path_rate (float): Stochastic depth rate. Default: 0.
      layer_scale_init_value (float): Init value for Layer Scale. Default: 1e-6.
code: def call(self, x, training=False):
      x = self.stem(x, training=training)
      for block in self.stage1:
          x = block(x, training=training)
  
      x = self.downsample2(x, training=training)
      for block in self.stage2:
          x = block(x, training=training)
  
      x = self.downsample3(x, training=training)
      for block in self.stage3:
          x = block(x, training=training)
  
      x = self.downsample4(x, training=training)
      for block in self.stage4:
          x = block(x, training=training)
  
      x = tf.reduce_mean(x, axis=[1, 2])
      x = self.norm(x, training=training)
      x = self.head(x)
      return x
  
imports: import numpy
  import tensorflow
  from tensorflow.keras import layers, initializers, Model
label_desc: Use image node_id 2 for calling the ConvNeXt obj's underlying member method code with example usage: obj.call(x, training) and returns: x