code: def _check_uniform_actions(
      self, actions: np.ndarray, batch_size: int
  ) -> None:
      self.assertAllInSet(actions, [0, 1, 2])
      # Set tolerance in the chosen count to be 4 std.
      tol = 4.0 * np.sqrt(batch_size * 1.0 / 3 * 2.0 / 3)
      expected_count = batch_size / 3
      for action in range(3):
          action_chosen_count = np.sum(actions == action)
          self.assertNear(
              action_chosen_count,
              expected_count,
              tol,
              msg=(
                  f"action: {action} is expected to be chosen between"
                  f" {expected_count - tol} and {expected_count + tol} times, but"
                  f" was actually chosen {action_chosen_count} times."
              ),
          )
  
imports: from typing import Optional
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.bandits.agents import neural_falcon_agent
  from tf_agents.bandits.networks import global_and_arm_feature_network
  from tf_agents.bandits.specs import utils
  from tf_agents.networks import network
  from tf_agents.policies import utils
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.trajectories import trajectory
  from tf_agents.typing import types
label_desc: Use image node_id 3 for calling the NeuralFalconAgentTest obj's underlying member method code with example usage: obj._check_uniform_actions(actions, batch_size) without return types