class_docstr: Structure containing the networks for D4PG.
code: def __init__(
      self,
      policy_network: snt.Module,
      critic_network: snt.Module,
      observation_network: types.TensorTransformation,
  ):
      # This method is implemented (rather than added by the dataclass decorator)
      # in order to allow observation network to be passed as an arbitrary tensor
      # transformation rather than as a snt Module.
      # TODO(mwhoffman): use Protocol rather than Module/TensorTransformation.
      self.policy_network = policy_network
      self.critic_network = critic_network
      self.observation_network = utils.to_sonnet_module(
          observation_network
      )
  
imports: import copy
  import dataclasses
  import functools
  from typing import Iterator, List, Optional, Tuple, Union, Sequence
  from acme import adders
  from acme import core
  from acme import datasets
  from acme import specs
  from acme import types
  from acme.adders import reverb
  from acme.agents import agent
  from acme.agents.tf import actors
  from acme.agents.tf.d4pg import learning
  from acme.tf import networks
  from acme.tf import utils
  from acme.tf import variable_utils
  from acme.utils import counting
  from acme.utils import loggers
  import reverb
  import sonnet
  import tensorflow
label_desc: Use image node_id 1 to create a new D4PGNetworks object  with example: obj = D4PGNetworks(policy_network, critic_network, observation_network)