class_docstr: A collection of variables used by `NeuralLinUCBAgent`.
docstr: Initializes an instance of `NeuralLinUCBVariableCollection`.
  
  Args:
    num_actions: (int) number of actions the agent acts on.
    encoding_dim: (int) The dimensionality of the output of the encoding
      network.
    dtype: The type of the variables. Should be one of `tf.float32` and
      `tf.float64`.
    name:  (string) the name of this instance.
docstr_tok: ["Initializes","an","instance","of","`","NeuralLinUCBVariableCollection","`",".","Args",":","num_actions",":","(","int",")","number","of","actions","the","agent","acts","on",".","encoding_dim",":","(","int",")","The","dimensionality","of","the","output","of","the","encoding","network",".","dtype",":","The","type","of","the","variables",".","Should","be","one","of","`","tf.float32","`","and","`","tf.float64","`",".","name",":","(","string",")","the","name","of","this","instance","."]
code: def __init__(
      self,
      num_actions: int,
      encoding_dim: int,
      dtype: tf.DType = tf.float64,
      name: Optional[Text] = None,
  ):
      """Initializes an instance of `NeuralLinUCBVariableCollection`.
  
      Args:
        num_actions: (int) number of actions the agent acts on.
        encoding_dim: (int) The dimensionality of the output of the encoding
          network.
        dtype: The type of the variables. Should be one of `tf.float32` and
          `tf.float64`.
        name:  (string) the name of this instance.
      """
      tf.Module.__init__(self, name=name)
      self.actions_from_reward_layer = tf.compat.v2.Variable(
          True, dtype=tf.bool, name="is_action_from_reward_layer"
      )
  
      self.cov_matrix_list = []
      self.data_vector_list = []
      # We keep track of the number of samples per arm.
      self.num_samples_list = []
  
      for k in range(num_actions):
          self.cov_matrix_list.append(
              tf.compat.v2.Variable(
                  tf.zeros([encoding_dim, encoding_dim], dtype=dtype),
                  name="a_{}".format(k),
              )
          )
          self.data_vector_list.append(
              tf.compat.v2.Variable(
                  tf.zeros(encoding_dim, dtype=dtype),
                  name="b_{}".format(k),
              )
          )
          self.num_samples_list.append(
              tf.compat.v2.Variable(
                  tf.zeros([], dtype=dtype),
                  name="num_samples_{}".format(k),
              )
          )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from typing import Optional, Sequence, Text
  import gin
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.bandits.agents import linear_bandit_agent
  from tf_agents.bandits.agents import utils
  from tf_agents.bandits.policies import neural_linucb_policy
  from tf_agents.bandits.specs import utils
  from tf_agents.policies import utils
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import eager_utils
label_desc: Use image node_id 1 to create a new NeuralLinUCBVariableCollection object from inherited base classes: tf with example: obj = NeuralLinUCBVariableCollection(num_actions, encoding_dim, dtype, name)