class_docstr: Linear map: sum_i(args[i] * W[i]), where W[i] is a variable.
  
  Args:
    args: a 2D Tensor or a list of 2D, batch, n, Tensors.
    output_size: int, second dimension of weight variable.
    dtype: data type for variables.
    build_bias: boolean, whether to build a bias variable.
    bias_initializer: starting value to initialize the bias
      (default is all zeros).
    kernel_initializer: starting value to initialize the weight.
  
  Raises:
    ValueError: if inputs_shape is wrong.
class_docstr_tok: ["Linear","map",":","sum_i","(","args","[","i","]","*","W","[","i","]",")",",","where","W","[","i","]","is","a","variable",".","Args",":","args",":","a","2D","Tensor","or","a","list","of","2D",",","batch",",","n",",","Tensors",".","output_size",":","int",",","second","dimension","of","weight","variable",".","dtype",":","data","type","for","variables",".","build_bias",":","boolean",",","whether","to","build","a","bias","variable",".","bias_initializer",":","starting","value","to","initialize","the","bias","(","default","is","all","zeros",")",".","kernel_initializer",":","starting","value","to","initialize","the","weight",".","Raises",":","ValueError",":","if","inputs_shape","is","wrong","."]
code: def __call__(self, args):
      if not self._is_sequence:
          args = [args]
  
      if len(args) == 1:
          res = tf.matmul(args[0], self._weights)
      else:
          # Explicitly creating a one for a minor performance improvement.
          one = tf.constant(1, dtype=tf.int32)
          res = tf.matmul(tf.concat(args, one), self._weights)
      if self._build_bias:
          res = tf.nn.bias_add(res, self._biases)
      return res
  
imports: import tensorflow.compat.v1
  import tf_slim
  from tensorflow.python.ops import gen_nn_ops
label_desc: Use image node_id 2 for calling the _Linear obj's underlying member method code with example usage: obj.__call__(args) and returns: res