class_docstr: An initializer for internal variables for a layer.
  
  A neuron is a function of the form `a = g(z)`, where `g` is the
  activation functions and `z = w_1x_1 + w_2x_2 + ... + w_nx_n` where the
  `w_i` are the weights and the `x_i` are the inputs. To prevent this
  `z` from vanishing (getting too small) or exploding (getting too big), the
  initial weights must be picked carefully.
docstr: Create internal variables for the layer.
  
  Parameters
  ----------
  var_shape
      Tuple representing the shape of the desired array. If considering
       the array as a rectangular matrix, this tuple is represented as
       '(ROWS, COLUMNS)'.
  device
      Device on which to create the layer's variables 'cuda:0', 'cuda:1', 'cpu'
      etc. Default is cpu.
  fan_out
      The number of nodes in the next layer.
  fan_in
      The number of nodes in the previous layer.
  dtype
      Desired data type.
docstr_tok: ["Create","internal","variables","for","the","layer",".","Parameters","--","--","--","--","--","var_shape","Tuple","representing","the","shape","of","the","desired","array",".","If","considering","the","array","as","a","rectangular","matrix",",","this","tuple","is","represented","as","'","(","ROWS",",","COLUMNS",")","'",".","device","Device","on","which","to","create","the","layer","'s","variables","'cuda:0","'",",","'cuda:1","'",",","'cpu'","etc",".","Default","is","cpu",".","fan_out","The","number","of","nodes","in","the","next","layer",".","fan_in","The","number","of","nodes","in","the","previous","layer",".","dtype","Desired","data","type","."]
code: def create_variables(
      self,
      var_shape: Tuple[int, int],
      device: Union[ivy.Device, ivy.NativeDevice],
      fan_out: Optional[float] = None,
      fan_in: Optional[float] = None,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
  ) -> ivy.Array:
      """Create internal variables for the layer.
  
      Parameters
      ----------
      var_shape
          Tuple representing the shape of the desired array. If considering
           the array as a rectangular matrix, this tuple is represented as
           '(ROWS, COLUMNS)'.
      device
          Device on which to create the layer's variables 'cuda:0', 'cuda:1', 'cpu'
          etc. Default is cpu.
      fan_out
          The number of nodes in the next layer.
      fan_in
          The number of nodes in the previous layer.
      dtype
          Desired data type.
      """
      return None
  
imports: from typing import Tuple, Union, Optional
  import abc
  import ivy
  from ivy.functional.ivy.gradients import _variable
label_desc: Use image node_id 1 for calling the Initializer obj's underlying member method code with example usage: obj.create_variables(var_shape, device, fan_out, fan_in, dtype) and returns: None