code: def LogSoftmax(axis=-1):
      """Returns a layer that applies log softmax along one tensor axis.
  
      Note that the implementation actually computes x - LogSumExp(x),
      which is mathematically equal to LogSoftmax(x).
  
      `LogSoftmax` acts on a group of values and normalizes them to look like a set
      of log probability values. (Probability values must be non-negative, and as
      a set must sum to 1. A group of log probability values can be seen as the
      natural logarithm function applied to a set of probability values.)
  
      Args:
        axis: Axis along which values are grouped for computing log softmax.
      """
      return Fn("LogSoftmax", lambda x: log_softmax(x, axis=axis))
  
imports: from absl import logging
  import numpy
  import tensorflow
  from trax import fastmath
  from trax.fastmath import numpy
  from trax.layers import base
  from trax.layers import initializers
  from trax.layers.assert_shape import assert_shape
  from trax.layers.base import Fn
label_desc: Use image node_id 3 for calling a global function with example usage: LogSoftmax(axis) and returns: Fn