class_docstr: First order optimier.
  
  Performs (stochastic) gradient descent, possibly using fancier methods like
  ADAM etc.
  
  Args:
      optimizer (tf.Optimizer): Optimizer to be used.
      learning_rate (dict): learning rate arguments.
          learning rates are our main interest parameters to tune optimizers.
      max_optimization_epochs (int): Maximum number of epochs for update.
      tolerance (float): Tolerance for difference in loss during update.
      batch_size (int): Batch size for optimization.
      callback (callable): Function to call during each epoch. Default is
          None.
      verbose (bool): If true, intermediate log message will be printed.
      name (str): Name scope of the optimizer.
class_docstr_tok: ["First","order","optimier",".","Performs","(","stochastic",")","gradient","descent",",","possibly","using","fancier","methods","like","ADAM","etc",".","Args",":","optimizer","(","tf.Optimizer",")",":","Optimizer","to","be","used",".","learning_rate","(","dict",")",":","learning","rate","arguments",".","learning","rates","are","our","main","interest","parameters","to","tune","optimizers",".","max_optimization_epochs","(","int",")",":","Maximum","number","of","epochs","for","update",".","tolerance","(","float",")",":","Tolerance","for","difference","in","loss","during","update",".","batch_size","(","int",")",":","Batch","size","for","optimization",".","callback","(","callable",")",":","Function","to","call","during","each","epoch",".","Default","is","None",".","verbose","(","bool",")",":","If","true",",","intermediate","log","message","will","be","printed",".","name","(","str",")",":","Name","scope","of","the","optimizer","."]
docstr: Object.__getstate__.
  
  Returns:
      dict: The state to be pickled for the instance.
docstr_tok: ["Object.__getstate__",".","Returns",":","dict",":","The","state","to","be","pickled","for","the","instance","."]
code: def __getstate__(self):
      """Object.__getstate__.
  
      Returns:
          dict: The state to be pickled for the instance.
  
      """
      new_dict = self.__dict__.copy()
      del new_dict["_opt_fun"]
      del new_dict["_tf_optimizer"]
      del new_dict["_train_op"]
      del new_dict["_input_vars"]
      return new_dict
  
file_path: garage/src/garage/tf/optimizers/first_order_optimizer.py
imports: import time
  import click
  from dowel import logger
  import tensorflow
  from garage import _Default, make_optimizer
  from garage.np.optimizers import BatchDataset
  from garage.tf import compile_function
  from garage.tf.optimizers._dtypes import LazyDict
label_desc: Use image node_id 5 for calling the FirstOrderOptimizer obj's underlying member method code with example usage: obj.__getstate__() and returns: new_dict