class_docstr: Shallow torso for Atari, from the DQN paper.
code: def __call__(self, x):
      torso_net = hk.Sequential(
          [
              lambda x: x / 255.0,
              hk.Conv2D(
                  32,
                  kernel_shape=[8, 8],
                  stride=[4, 4],
                  padding="VALID",
              ),
              jax.nn.relu,
              hk.Conv2D(
                  64,
                  kernel_shape=[4, 4],
                  stride=[2, 2],
                  padding="VALID",
              ),
              jax.nn.relu,
              hk.Conv2D(
                  64,
                  kernel_shape=[3, 3],
                  stride=[1, 1],
                  padding="VALID",
              ),
              jax.nn.relu,
              hk.Flatten(),
              hk.Linear(512),
              jax.nn.relu,
          ]
      )
      return torso_net(x)
  
imports: import collections
  import dm_env
  import haiku
  import jax.nn
  import jax.numpy
label_desc: Use image node_id 2 for calling the AtariShallowTorso obj's underlying member method code with example usage: obj.__call__(x) and returns: torso_net