class_docstr: A network that takes global and arm observations and outputs rewards.
  
  This network calculates the dot product of the output of the global and
  per-arm networks and returns them as reward estimates.
class_docstr_tok: ["A","network","that","takes","global","and","arm","observations","and","outputs","rewards",".","This","network","calculates","the","dot","product","of","the","output","of","the","global","and","per-arm","networks","and","returns","them","as","reward","estimates","."]
docstr: Runs the observation through the network.
docstr_tok: ["Runs","the","observation","through","the","network","."]
code: def call(self, observation, step_type=None, network_state=()):
      """Runs the observation through the network."""
  
      global_obs = observation[bandit_spec_utils.GLOBAL_FEATURE_KEY]
      arm_obs = observation[bandit_spec_utils.PER_ARM_FEATURE_KEY]
  
      global_output, global_state = self._global_network(
          global_obs, step_type=step_type, network_state=network_state
      )
  
      arm_output, arm_state = self._arm_network(
          arm_obs, step_type=step_type, network_state=network_state
      )
  
      dot_product = tf.linalg.matvec(arm_output, global_output)
      return dot_product, global_state + arm_state
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import Callable, Optional, Sequence, Text
  import gin
  import numpy
  import tensorflow
  from tf_agents.bandits.specs import utils
  from tf_agents.networks import encoding_network
  from tf_agents.networks import network
  from tf_agents.networks import q_network
  from tf_agents.specs import tensor_spec
  from tf_agents.typing import types
label_desc: Use image node_id 2 for calling the GlobalAndArmDotProductNetwork obj's underlying member method code with example usage: obj.call(observation, step_type, network_state) and returns: dot_product,  unknown