class_docstr: Line search algorithm which iteratively optimizes the value $f(x)$ for $x$ on the line between
  $x'$ and $x_0$ by optimistically taking the first acceptable $x$ starting from $x_0$ and
  moving towards $x'$.
class_docstr_tok: ["Line","search","algorithm","which","iteratively","optimizes","the","value","$","f","(","x",")","$","for","$","x","$","on","the","line","between","$","x","'","$","and","$","x_0","$","by","optimistically","taking","the","first","acceptable","$","x","$","starting","from","$","x_0","$","and","moving","towards","$","x","'","$","."]
code: def input_signature(self, *, function):
      if (
          function == "end"
          or function == "next_step"
          or function == "step"
      ):
          return SignatureDict(
              arguments=self.arguments_spec.signature(batched=True),
              x=self.values_spec.signature(batched=False),
              deltas=self.values_spec.signature(batched=False),
              improvement=TensorSpec(type="float", shape=()).signature(
                  batched=False
              ),
              last_improvement=TensorSpec(
                  type="float", shape=()
              ).signature(batched=False),
              base_value=TensorSpec(type="float", shape=()).signature(
                  batched=False
              ),
          )
  
      elif function == "solve" or function == "start":
          return SignatureDict(
              arguments=self.arguments_spec.signature(batched=True),
              x_init=self.values_spec.signature(batched=False),
              base_value=TensorSpec(type="float", shape=()).signature(
                  batched=False
              ),
              zero_value=TensorSpec(type="float", shape=()).signature(
                  batched=False
              ),
          )
  
      else:
          return super().input_signature(function=function)
  
file_path: tensorforce/tensorforce/core/optimizers/solvers/line_search.py
imports: import tensorflow
  from tensorforce import util
  from tensorforce.core import parameter_modules, SignatureDict, TensorSpec, tf_function, tf_util
  from tensorforce.core.optimizers.solvers import Iterative
label_desc: Use image node_id 2 for calling the LineSearch obj's underlying member method code with example usage: obj.input_signature() and returns: SignatureDict, SignatureDict, super