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 x 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 = math_ops.matmul(args[0], self._weights)
      else:
          res = math_ops.matmul(
              array_ops.concat(args, 1), self._weights
          )
      if self._build_bias:
          res = nn_ops.bias_add(res, self._biases)
      return res
  
imports: import tensorflow
  from tensorflow.python.ops.rnn_cell import *
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import init_ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.util import nest
  from tensorflow.python.ops import nn_ops
  from bigdl.dllib.utils.log4Error import *
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