class_docstr: Actor which learns (updates its parameters) when `update` is called.
  
  This combines a base actor and a learner. Whenever `update` is called
  on the wrapping actor the learner will take a step (e.g. one step of gradient
  descent) as long as there is data available for training
  (provided iterator and replay_tables are used to check for that).
  Selecting actions and making observations are handled by the base actor.
  Intended to be used by the `run_experiment` only.
class_docstr_tok: ["Actor","which","learns","(","updates","its","parameters",")","when","`","update","`","is","called",".","This","combines","a","base","actor","and","a","learner",".","Whenever","`","update","`","is","called","on","the","wrapping","actor","the","learner","will","take","a","step","(","e.g",".","one","step","of","gradient","descent",")","as","long","as","there","is","data","available","for","training","(","provided","iterator","and","replay_tables","are","used","to","check","for","that",")",".","Selecting","actions","and","making","observations","are","handled","by","the","base","actor",".","Intended","to","be","used","by","the","`","run_experiment","`","only","."]
code: def observe_first(self, timestep: dm_env.TimeStep):
      self._actor.observe_first(timestep)
  
imports: import sys
  import time
  from typing import Optional, Sequence, Tuple
  import acme
  from acme import core
  from acme import specs
  from acme import types
  from acme.jax import utils
  from acme.jax.experiments import config
  from acme.tf import savers
  from acme.utils import counting
  import dm_env
  import jax
  import reverb
label_desc: Use image node_id 3 for calling the _LearningActor obj's underlying member method code with example usage: obj.observe_first(timestep) without return types