docstr: Runs one step of LinUCB using numpy arrays.
docstr_tok: ["Runs","one","step","of","LinUCB","using","numpy","arrays","."]
code: def _get_predicted_rewards_from_per_arm_linucb(
      self, observation_numpy, batch_size
  ):
      """Runs one step of LinUCB using numpy arrays."""
      observation_numpy.reshape(
          [batch_size, self._num_actions, self._encoding_dim]
      )
  
      predicted_rewards = []
      for k in range(self._num_actions):
          a_inv = np.linalg.inv(
              self._a_numpy[0] + np.eye(self._encoding_dim)
          )
          theta = np.matmul(
              a_inv, self._b_numpy[0].reshape([self._encoding_dim, 1])
          )
          est_mean_reward = np.matmul(observation_numpy[:, k, :], theta)
          predicted_rewards.append(est_mean_reward)
      predicted_rewards_array = np.stack(
          predicted_rewards, axis=-1
      ).reshape((batch_size, self._num_actions))
      return predicted_rewards_array
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.bandits.networks import global_and_arm_feature_network
  from tf_agents.bandits.policies import neural_linucb_policy
  from tf_agents.bandits.specs import utils
  from tf_agents.networks import network
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.utils import common
  from tf_agents.utils import test_utils
label_desc: Use image node_id 11 for calling the NeuralLinUCBPolicyTest obj's underlying member method code with example usage: obj._get_predicted_rewards_from_per_arm_linucb(observation_numpy, batch_size) and returns: predicted_rewards_array