class_docstr: Reshapes an output to a certain shape.
  Arguments:
    target_shape: Target shape. Tuple of integers,
      does not include the samples dimension (batch size).
  Input shape:
    Arbitrary, although all dimensions in the input shaped must be fixed.
    Use the keyword argument `input_shape`
    (tuple of integers, does not include the samples axis)
    when using this layer as the first layer in a model.
  Output shape:
    `(batch_size,) + target_shape`
  Example:
  ```python
  # as first layer in a Sequential model
  model = Sequential()
  model.add(Reshape((3, 4), input_shape=(12,)))
  # now: model.output_shape == (None, 3, 4)
  # note: `None` is the batch dimension
  # as intermediate layer in a Sequential model
  model.add(Reshape((6, 2)))
  # now: model.output_shape == (None, 6, 2)
  # also supports shape inference using `-1` as dimension
  model.add(Reshape((-1, 2, 2)))
  # now: model.output_shape == (None, 3, 2, 2)
  ```
code: def __init__(self, target_shape, **kwargs):
      super(Reshape, self).__init__(**kwargs)
      self.target_shape = tuple(target_shape)
  
file_path: tf-encrypted/tf_encrypted/keras/layers/reshape.py
imports: import numpy
  from tf_encrypted.keras.engine import Layer
label_desc: Use image node_id 1 to create a new Reshape object from inherited base classes: Layer with example: obj = Reshape(target_shape)