class_docstr: Layer with linear activation function. It applies linear transformation
  when the ``n_units`` parameter specified and acts as an identity
  when it's not specified.
  
  Parameters
  ----------
  n_units : int or None
      Number of units in the layers. It also corresponds to the number of
      output features that will be produced per sample after passing it
      through this layer. The ``None`` value means that layer will not have
      parameters and it will only apply activation function to the input
      without linear transformation output for the specified input value.
      Defaults to ``None``.
  
  weight : array-like, Tensorfow variable, scalar or Initializer
      Defines layer's weights. Default initialization methods
      you can find :ref:`here <init-methods>`.
      Defaults to :class:`HeNormal() <neupy.init.HeNormal>`.
  
  bias : 1D array-like, Tensorfow variable, scalar, Initializer or None
      Defines layer's bias. Default initialization methods you can find
      :ref:`here <init-methods>`. Defaults to
      :class:`Constant(0) <neupy.init.Constant>`.
      The ``None`` value excludes bias from the calculations and
      do not add it into parameters list.
  
  {BaseLayer.name}
  
  Methods
  -------
  {BaseLayer.Methods}
  
  activation_function(input)
      Applies activation function to the input.
  
  Attributes
  ----------
  {BaseLayer.Attributes}
  
  Examples
  --------
  Linear Regression
  
  >>> from neupy.layers import *
  >>> network = Input(10) >> Linear(5)
class_docstr_tok: ["Layer","with","linear","activation","function",".","It","applies","linear","transformation","when","the","``","n_units","``","parameter","specified","and","acts","as","an","identity","when","it","'s","not","specified",".","Parameters","--","--","--","--","--","n_units",":","int","or","None","Number","of","units","in","the","layers",".","It","also","corresponds","to","the","number","of","output","features","that","will","be","produced","per","sample","after","passing","it","through","this","layer",".","The","``","None","``","value","means","that","layer","will","not","have","parameters","and","it","will","only","apply","activation","function","to","the","input","without","linear","transformation","output","for","the","specified","input","value",".","Defaults","to","``","None","``",".","weight",":","array-like",",","Tensorfow","variable",",","scalar","or","Initializer","Defines","layer","'s","weights",".","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to",":","class",":","`","HeNormal","(",")","<","neupy.init.HeNormal",">","`",".","bias",":","1D","array-like",",","Tensorfow","variable",",","scalar",",","Initializer","or","None","Defines","layer","'s","bias",".","Default","initialization","methods","you","can","find",":","ref",":","`","here","<","init-methods",">","`",".","Defaults","to",":","class",":","`","Constant","(","0",")","<","neupy.init.Constant",">","`",".","The","``","None","``","value","excludes","bias","from","the","calculations","and","do","not","add","it","into","parameters","list",".","{","BaseLayer.name","}","Methods","--","--","--","-","{","BaseLayer.Methods","}","activation_function","(","input",")","Applies","activation","function","to","the","input",".","Attributes","--","--","--","--","--","{","BaseLayer.Attributes","}","Examples","--","--","--","--","Linear","Regression",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","Input","(","10",")",">",">","Linear","(","5",")"]
code: def output(self, input, **kwargs):
      input = tf.convert_to_tensor(input, dtype=tf.float32)
  
      if self.n_units is None:
          return self.activation_function(input)
  
      if self.bias is None:
          output = tf.matmul(input, self.weight)
          return self.activation_function(output)
  
      output = tf.matmul(input, self.weight) + self.bias
      return self.activation_function(output)
  
imports: import numpy
  import tensorflow
  from neupy import init
  from neupy.utils import asfloat, as_tuple, tf_utils
  from neupy.exceptions import LayerConnectionError, WeightInitializationError
  from neupy.core.properties import NumberProperty, TypedListProperty, ParameterProperty, IntProperty
  from .base import BaseLayer
label_desc: Use image node_id 4 for calling the Linear obj's underlying member method code with example usage: obj.output(input) and returns: self, self, self