docstr: A simple linear heteroscedastic network.
  
  Args:
    kernel_weights: A 2-d numpy array of shape [input_size, output_size].
    bias: A 1-d numpy array of shape [output_size].
code: def __init__(self, kernel_weights: np.ndarray, bias: np.ndarray):
      """A simple linear heteroscedastic network.
  
      Args:
        kernel_weights: A 2-d numpy array of shape [input_size, output_size].
        bias: A 1-d numpy array of shape [output_size].
      """
      assert len(kernel_weights.shape) == 2
      assert len(bias.shape) == 1
      assert kernel_weights.shape[1] == bias.shape[0]
  
      input_spec = array_spec.ArraySpec(
          [kernel_weights.shape[0]], np.float32
      )
      action_spec = array_spec.BoundedArraySpec(
          [1], np.float32, 1, kernel_weights.shape[1]
      )
  
      input_tensor_spec = tensor_spec.from_spec(input_spec)
      action_tensor_spec = tensor_spec.from_spec(action_spec)
  
      super(HeteroscedasticDummyNet, self).__init__(
          input_tensor_spec, action_tensor_spec
      )
      self._value_layer = tf.keras.layers.Dense(
          kernel_weights.shape[1],
          kernel_initializer=tf.constant_initializer(kernel_weights),
          bias_initializer=tf.constant_initializer(bias),
      )
  
      self._log_variance_layer = tf.keras.layers.Dense(
          kernel_weights.shape[1],
          kernel_initializer=tf.constant_initializer(kernel_weights),
          bias_initializer=tf.constant_initializer(bias),
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from typing import Dict, List, Text, Tuple
  import numpy
  import tensorflow
  from tf_agents.bandits.multi_objective import multi_objective_scalarizer
  from tf_agents.bandits.networks import global_and_arm_feature_network
  from tf_agents.bandits.networks import heteroscedastic_q_network
  from tf_agents.bandits.policies import greedy_multi_objective_neural_policy
  from tf_agents.bandits.specs import utils
  from tf_agents.networks import network
  from tf_agents.policies import utils
  from tf_agents.specs import array_spec
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import test_utils
label_desc: Use image node_id 1 to create a new HeteroscedasticDummyNet object from inherited base classes: heteroscedastic_q_network with example: obj = HeteroscedasticDummyNet(kernel_weights, bias)