class_docstr: Network Outputting Expected Value and Variance of Rewards.
class_docstr_tok: ["Network","Outputting","Expected","Value","and","Variance","of","Rewards","."]
docstr: Runs the given observation through the network.
  
  Args:
    observation: The observation to provide to the network.
    step_type: The step type for the given observation. See `StepType` in
      time_step.py.
    network_state: A state tuple to pass to the network, mainly used by RNNs.
  
  Returns:
    An instance of `QBanditNetworkResult`.
docstr_tok: ["Runs","the","given","observation","through","the","network",".","Args",":","observation",":","The","observation","to","provide","to","the","network",".","step_type",":","The","step","type","for","the","given","observation",".","See","`","StepType","`","in","time_step.py",".","network_state",":","A","state","tuple","to","pass","to","the","network",",","mainly","used","by","RNNs",".","Returns",":","An","instance","of","`","QBanditNetworkResult","`","."]
code: def call(self, observation, step_type=None, network_state=()):
      """Runs the given observation through the network.
  
      Args:
        observation: The observation to provide to the network.
        step_type: The step type for the given observation. See `StepType` in
          time_step.py.
        network_state: A state tuple to pass to the network, mainly used by RNNs.
  
      Returns:
        An instance of `QBanditNetworkResult`.
      """
      state, network_state = self._encoder(
          observation, step_type=step_type, network_state=network_state
      )
  
      log_variance = tf.clip_by_value(
          self._log_variance_layer(state),
          tf.math.log(self._min_variance),
          tf.math.log(self._max_variance),
      )
  
      q_value_logits = self._q_value_layer(state)
  
      result = QBanditNetworkResult(q_value_logits, log_variance)
  
      return (result, network_state)
  
file_path: agents/tf_agents/bandits/networks/heteroscedastic_q_network.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from typing import Any, Callable, Optional, Sequence, Text
  import gin
  import tensorflow
  from tf_agents.networks import encoding_network
  from tf_agents.networks import network
  from tf_agents.networks import q_network
  from tf_agents.typing import types
label_desc: Use image node_id 2 for calling the HeteroscedasticQNetwork obj's underlying member method code with example usage: obj.call(observation, step_type, network_state) and returns: result,  network_state