class_docstr: Adjoint solver which propagates step size between solves.
class_docstr_tok: ["Adjoint","solver","which","propagates","step","size","between","solves","."]
code: def __init__(self, make_solver_fn, first_step_size):
      self._first_step_size = first_step_size
      self._make_solver_fn = make_solver_fn
      solver = make_solver_fn(first_step_size)
      super(StepSizeHeuristicAdjointSolver, self).__init__(
          validate_args=solver._validate_args,
          make_adjoint_solver_fn=None,
          name="Adjoint" + solver.name,
      )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.ode import base
  from tensorflow_probability.python.math.ode import bdf
  from tensorflow_probability.python.math.ode import dormand_prince
label_desc: Use image node_id 1 to create a new StepSizeHeuristicAdjointSolver object from inherited base classes: base with example: obj = StepSizeHeuristicAdjointSolver(make_solver_fn, first_step_size)