class_docstr: Resilient backpropagation (RPROP) is an optimization
  algorithm for supervised learning.
  
  RPROP algorithm takes into account only direction of the gradient
  and completely ignores its magnitude. Every weight values has a unique
  step size associated with it (by default all of the are equal to ``step``).
  
  The rule is following, when gradient direction changes (sign of the
  gradient) we decrease step size for specific weight multiplying it by
  ``decrease_factor`` and if sign stays the same than we increase step
  size for this specific weight multiplying it by ``increase_factor``.
  
  The step size is always bounded by ``minstep`` and ``maxstep``.
  
  Notes
  -----
  Algorithm doesn't work with mini-batches.
  
  Parameters
  ----------
  minstep : float
      Minimum possible value for step. Defaults to ``0.001``.
  
  maxstep : float
      Maximum possible value for step. Defaults to ``10``.
  
  increase_factor : float
      Increase factor for step in case when gradient doesn't change
      sign compare to previous epoch.
  
  decrease_factor : float
      Decrease factor for step in case when gradient changes sign
      compare to previous epoch.
  
  {BaseOptimizer.Parameters}
  
  Attributes
  ----------
  {BaseOptimizer.Attributes}
  
  Methods
  -------
  {BaseOptimizer.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)
  >>> optimizer = algorithms.RPROP(network)
  >>> optimizer.train(x_train, y_train)
  
  See Also
  --------
  :network:`IRPROPPlus` : iRPROP+ algorithm.
  :network:`GradientDescent` : GradientDescent algorithm.
code: def update_prev_delta(self, prev_delta):
      return prev_delta
  
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 RPROP obj's underlying member method code with example usage: obj.update_prev_delta(prev_delta) and returns: prev_delta