class_docstr: iRPROP+ is an optimization algorithm for supervised learning.
  This is a variation of the :network:`RPROP` algorithm.
  
  Parameters
  ----------
  {RPROP.minstep}
  
  {RPROP.maxstep}
  
  {RPROP.increase_factor}
  
  {RPROP.decrease_factor}
  
  {BaseOptimizer.regularizer}
  
  {BaseOptimizer.network}
  
  {BaseOptimizer.loss}
  
  {BaseNetwork.show_epoch}
  
  {BaseNetwork.shuffle_data}
  
  {BaseNetwork.signals}
  
  {Verbose.verbose}
  
  Methods
  -------
  {BaseSkeleton.predict}
  
  {BaseOptimizer.train}
  
  {BaseSkeleton.fit}
  
  Notes
  -----
  {RPROP.Notes}
  
  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)
  >>> optimizer = algorithms.IRPROPPlus(network)
  >>> optimizer.train(x_train, y_train)
  
  References
  ----------
  [1] Christian Igel, Michael Huesken (2000)
      Improving the Rprop Learning Algorithm
  
  See Also
  --------
  :network:`RPROP` : RPROP algorithm.
  :network:`GradientDescent` : GradientDescent algorithm.
code: def init_functions(self):
      self.variables.update(
          last_error=tf.Variable(np.nan, name="irprop-plus/last-error"),
          previous_error=tf.Variable(
              np.nan, name="irprop-plus/previous-error"
          ),
      )
      super(IRPROPPlus, self).init_functions()
  
file_path: neupy/neupy/algorithms/gd/rprop.py
imports: import tensorflow
  import numpy
  from neupy.utils import tensorflow_session
  from neupy.core.properties import BoundedProperty, ProperFractionProperty
  from .base import BaseOptimizer
label_desc: Use image node_id 1 for calling the IRPROPPlus obj's underlying member method code with example usage: obj.init_functions() without return types