class_docstr: Variable(shape=None, dtype=None, needs_gradient=False, is_sparse=False, dynamic_axes=[Axis.default_batch_axis(), Axis.default_dynamic_axis()], name='')
  
  Denotes a symbolic entity corresponding to the inputs and outputs of a Function.
  
  Args:
     shape (`tuple`): the shape of this variable.
     dtype (`np.float32 or np.float64 or np.float16`): data type of the values that will be bound to this variable.
      Default is np.float32
     needs_gradient (`bool`): if set to True any expression that contains this variable
      will also be differentiated with respect to this variable.
     is_sparse(`bool`): whether this is a sparse or dense input (or output)
     dynamic_axes(`list` of :class:`~cntk.axis.Axis`): the dynamic axes of this variable. These
      express dimensions that can vary across examples or minibatches.
     name(`str`): an optional name for this parameter.
class_docstr_tok: ["Variable","(","shape=None",",","dtype=None",",","needs_gradient=False",",","is_sparse=False",",","dynamic_axes=","[","Axis.default_batch_axis","(",")",",","Axis.default_dynamic_axis","(",")","]",",","name=","''",")","Denotes","a","symbolic","entity","corresponding","to","the","inputs","and","outputs","of","a","Function",".","Args",":","shape","(","`","tuple","`",")",":","the","shape","of","this","variable",".","dtype","(","`","np.float32","or","np.float64","or","np.float16","`",")",":","data","type","of","the","values","that","will","be","bound","to","this","variable",".","Default","is","np.float32","needs_gradient","(","`","bool","`",")",":","if","set","to","True","any","expression","that","contains","this","variable","will","also","be","differentiated","with","respect","to","this","variable",".","is_sparse","(","`","bool","`",")",":","whether","this","is","a","sparse","or","dense","input","(","or","output",")","dynamic_axes","(","`","list","`","of",":","class",":","`","~cntk.axis.Axis","`",")",":","the","dynamic","axes","of","this","variable",".","These","express","dimensions","that","can","vary","across","examples","or","minibatches",".","name","(","`","str","`",")",":","an","optional","name","for","this","parameter","."]
code: def __init__(
      self,
      shape=None,
      dtype=None,
      needs_gradient=False,
      is_sparse=False,
      dynamic_axes=[
          cntk_py.Axis.default_batch_axis(),
          cntk_py.Axis.default_dynamic_axis(),
      ],
      name="",
  ):
      shape = sanitize_shape(shape)
  
      if dtype is None:
          dtype = np.float32
      dtype = sanitize_dtype_cntk(dtype)
  
      dynamic_axes = sanitize_dynamic_axes(dynamic_axes)
  
      super(Variable, self).__init__(
          shape, is_sparse, dtype, needs_gradient, name, dynamic_axes
      )
  
imports: import numpy
  from .None import cntk_py
  from .core import NDArrayView
  from .device import DeviceDescriptor, use_default_device
  from .tensor import TensorOpsMixin
  from .default_options import get_default_override, default_override_or
  from .internal import typemap, sanitize_precision, sanitize_value, sanitize_shape, sanitize_dtype_cntk, sanitize_dynamic_axes
label_desc: Use image node_id 1 to create a new Variable object from inherited base classes: VariableMixin, TensorOpsMixin, cntk_py with example: obj = Variable(shape, dtype, needs_gradient, is_sparse, dynamic_axes, name)