class_docstr: AdaMax algorithm.
  
  Parameters
  ----------
  beta1 : float
      Decay rate. Value need to be between ``0`` and ``1``.
      Defaults to ``0.9``.
  
  beta2 : float
      Decay rate. Value need to be between ``0`` and ``1``.
      Defaults to ``0.999``.
  
  epsilon : float
      Value need to be greater than ``0``. Defaults to ``1e-7``.
  
  step : float
      Learning rate, defaults to ``0.002``.
  
  {GradientDescent.batch_size}
  
  {BaseOptimizer.regularizer}
  
  {BaseOptimizer.network}
  
  {BaseOptimizer.loss}
  
  {BaseNetwork.show_epoch}
  
  {BaseNetwork.shuffle_data}
  
  {BaseNetwork.signals}
  
  {Verbose.verbose}
  
  Attributes
  ----------
  {GradientDescent.Attributes}
  
  Methods
  -------
  {GradientDescent.Methods}
  
  Examples
  --------
  >>> import numpy as np
  >>> from neupy import algorithms
  >>> from neupy.layers import *
  >>>
  >>> x_train = np.array([[1, 2], [3, 4]])
  >>> y_train = np.array([[1], [0]])
  >>>
  >>> network = Input(2) >> Sigmoid(3) >> Sigmoid(1)
  >>> mnet = algorithms.Adamax(network)
  >>> mnet.train(x_train, y_train)
  
  References
  ----------
  [1] Diederik P. Kingma, Jimmy Lei Ba
      Adam: a Method for Stochastic Optimization.
      https://arxiv.org/pdf/1412.6980.pdf
code: def init_functions(self):
      self.variables.iteration = tf.Variable(
          asfloat(1),
          name="iteration",
          dtype=tf.float32,
      )
      super(Adamax, self).init_functions()
  
file_path: neupy/neupy/algorithms/gd/adamax.py
imports: import tensorflow
  from neupy.utils import asfloat
  from neupy.core.properties import ProperFractionProperty, ScalarVariableProperty, NumberProperty
  from .base import GradientDescent
label_desc: Use image node_id 1 for calling the Adamax obj's underlying member method code with example usage: obj.init_functions() without return types