class_docstr: A simple CNN model.
class_docstr_tok: ["A","simple","CNN","model","."]
code: def __call__(self, x):
      x = nn.Conv(features=32, kernel_size=(3, 3))(x)
      x = nn.relu(x)
      x = nn.avg_pool(x, window_shape=(2, 2), strides=(2, 2))
      x = nn.Conv(features=64, kernel_size=(3, 3))(x)
      x = nn.relu(x)
      x = nn.avg_pool(x, window_shape=(2, 2), strides=(2, 2))
      x = x.reshape((x.shape[0], -1))  # flatten
      x = nn.Dense(features=256)(x)
      x = nn.relu(x)
      x = nn.Dense(features=10)(x)
      return x
  
file_path: flax/examples/mnist/train.py
imports: from absl import logging
  from flax import linen
  from flax.metrics import tensorboard
  from flax.training import train_state
  import jax
  import jax.numpy
  import ml_collections
  import numpy
  import optax
  import tensorflow_datasets
label_desc: Use image node_id 1 for calling the CNN obj's underlying member method code with example usage: obj.__call__(x) and returns: x