code: def make_node(self, x):
          
          x = theano.tensor.as_tensor_variable(x)
  
          # Create tensor type with correct dtype.
          # The second argument specifies the number of dimensions of the output.
          # False means that we do not support broadcasting.
          if isinstance(self.operator, Functional):
              # Make scalar out type
              out_type = theano.tensor.TensorVariable(
                  theano.tensor.TensorType(self.operator.domain.dtype, ()))
          else:
              out_type = theano.tensor.TensorVariable(
                  theano.tensor.TensorType(
                      self.operator.range.dtype,
                      [False] * len(self.operator.range.shape)))
  
          return theano.Apply(self, [x], [out_type.type()])
docs: Create a node for the computation graph.
  
          Parameters
          ----------
          x : `theano.tensor.var.TensorVariable`
              Input to the node.
  
          Returns
          -------
          node : `theano.gof.graph.Apply`
              Node for the Theano expression graph. Its only input is ``x``,
              and the output is of the same type.