(n_axes_to_keep=1)
return Fn(layer_name, f)
Returns a layer that combines one or more trailing axes of a tensor.

  Flattening keeps all the values of the input tensor, but reshapes it by
  collapsing one or more trailing axes into a single axis. For example, a
  `Flatten(n_axes_to_keep=2)` layer would map a tensor with shape
  `(2, 3, 5, 7, 11)` to the same values with shape `(2, 3, 385)`.

  Args:
    n_axes_to_keep: Number of leading axes to leave unchanged when reshaping;
        collapse only the axes after these.
Returns a layer that combines one or more trailing axes of a tensor.
Returns a layer that combines one or more trailing axes of a tensor .
def Flatten(n_axes_to_keep=1):
  """Returns a layer that combines one or more trailing axes of a tensor.

  Flattening keeps all the values of the input tensor, but reshapes it by
  collapsing one or more trailing axes into a single axis. For example, a
  `Flatten(n_axes_to_keep=2)` layer would map a tensor with shape
  `(2, 3, 5, 7, 11)` to the same values with shape `(2, 3, 385)`.

  Args:
    n_axes_to_keep: Number of leading axes to leave unchanged when reshaping;
        collapse only the axes after these.
  """
  layer_name = f'Flatten_keep{n_axes_to_keep}'
  def f(x):  # pylint: disable=invalid-name
    in_rank = len(x.shape)
    if in_rank <= n_axes_to_keep:
      raise ValueError(f'Input rank ({in_rank}) must exceed the number of '
                       f'axes to keep ({n_axes_to_keep}) after flattening.')
    shape = x.shape
    if isinstance(shape, tf.TensorShape):
      shape = tuple(shape.as_list())
    return jnp.reshape(x, (shape[:n_axes_to_keep] + (-1,)))
  return Fn(layer_name, f)
def Flatten ( n_axes_to_keep = 1 ) : layer_name = f'Flatten_keep{n_axes_to_keep}' def f ( x ) : # pylint: disable=invalid-name in_rank = len ( x . shape ) if in_rank <= n_axes_to_keep : raise ValueError ( f'Input rank ({in_rank}) must exceed the number of ' f'axes to keep ({n_axes_to_keep}) after flattening.' ) shape = x . shape if isinstance ( shape , tf . TensorShape ) : shape = tuple ( shape . as_list ( ) ) return jnp . reshape ( x , ( shape [ : n_axes_to_keep ] + ( - 1 , ) ) ) return Fn ( layer_name , f )