class_docstr: DQN learner.
  
  We are in the process of migrating towards a more general SGDLearner to allow
  for easy configuration of the loss. This is maintained now for compatibility.
class_docstr_tok: ["DQN","learner",".","We","are","in","the","process","of","migrating","towards","a","more","general","SGDLearner","to","allow","for","easy","configuration","of","the","loss",".","This","is","maintained","now","for","compatibility","."]
docstr: Initializes the learner.
docstr_tok: ["Initializes","the","learner","."]
code: def __init__(
      self,
      network: networks_lib.TypedFeedForwardNetwork,
      discount: float,
      importance_sampling_exponent: float,
      target_update_period: int,
      iterator: Iterator[utils.PrefetchingSplit],
      optimizer: optax.GradientTransformation,
      random_key: networks_lib.PRNGKey,
      max_abs_reward: float = 1.0,
      huber_loss_parameter: float = 1.0,
      replay_client: Optional[reverb.Client] = None,
      replay_table_name: str = adders.DEFAULT_PRIORITY_TABLE,
      counter: Optional[counting.Counter] = None,
      logger: Optional[loggers.Logger] = None,
      num_sgd_steps_per_step: int = 1,
  ):
      """Initializes the learner."""
      loss_fn = losses.PrioritizedDoubleQLearning(
          discount=discount,
          importance_sampling_exponent=importance_sampling_exponent,
          max_abs_reward=max_abs_reward,
          huber_loss_parameter=huber_loss_parameter,
      )
      super().__init__(
          network=network,
          loss_fn=loss_fn,
          optimizer=optimizer,
          data_iterator=iterator,
          target_update_period=target_update_period,
          random_key=random_key,
          replay_client=replay_client,
          replay_table_name=replay_table_name,
          counter=counter,
          logger=logger,
          num_sgd_steps_per_step=num_sgd_steps_per_step,
      )
  
file_path: acme/acme/agents/jax/dqn/learning.py
imports: from typing import Iterator, Optional
  from acme.adders import reverb
  from acme.agents.jax.dqn import learning_lib
  from acme.agents.jax.dqn import losses
  from acme.jax import networks
  from acme.jax import utils
  from acme.utils import counting
  from acme.utils import loggers
  import optax
  import reverb
label_desc: Use image node_id 1 to create a new DQNLearner object from inherited base classes: learning_lib with example: obj = DQNLearner(network, discount, importance_sampling_exponent, target_update_period, iterator, optimizer, random_key, max_abs_reward, huber_loss_parameter, replay_client, replay_table_name, counter, logger, num_sgd_steps_per_step)