class_docstr: Concatenate multiple inputs into one. Inputs will be concatenated over
  the specified axis (controlled with parameter ``axis``).
  
  Parameters
  ----------
  axis : int
      The axis along which the inputs will be concatenated.
      Default is ``-1``.
  
  {BaseLayer.name}
  
  Methods
  -------
  {BaseLayer.Methods}
  
  Attributes
  ----------
  {BaseLayer.Attributes}
  
  Examples
  --------
  >>> from neupy.layers import *
  >>> network = (Input(10) | Input(20)) >> Concatenate()
  [(?, 10), (?, 20)] -> [... 3 layers ...] -> (?, 30)
code: def output(self, *inputs, **kwargs):
      return tf.concat(inputs, axis=self.axis)
  
imports: import copy
  from functools import reduce
  import tensorflow
  from neupy.core.properties import FunctionWithOptionsProperty, IntProperty
  from neupy.exceptions import LayerConnectionError
  from neupy.utils import tf_utils
  from .base import BaseLayer
label_desc: Use image node_id 3 for calling the Concatenate obj's underlying member method code with example usage: obj.output() and returns: tf