class_docstr: Implements a drifting linear environment.
class_docstr_tok: ["Implements","a","drifting","linear","environment","."]
docstr: Initialize the environment with the dynamics parameters.
  
  Args:
    observation_distribution: A distribution from `tfp.distributions` with
      shape `[batch_size, observation_dim]`. Note that the values of
      `batch_size` and `observation_dim` are deduced from the distribution.
    observation_to_reward_distribution: A distribution from
      `tfp.distributions` with shape `[observation_dim, num_actions]`. The
      value `observation_dim` must match the second dimension of
      `observation_distribution`.
    drift_distribution: A scalar distribution from `tfp.distributions` of type
      tf.float32. It represents the angle of rotation.
    additive_reward_distribution: A distribution from `tfp.distributions` with
      shape `[num_actions]`. This models the non-contextual behavior of the
      bandit.
docstr_tok: ["Initialize","the","environment","with","the","dynamics","parameters",".","Args",":","observation_distribution",":","A","distribution","from","`","tfp.distributions","`","with","shape","`","[","batch_size",",","observation_dim","]","`",".","Note","that","the","values","of","`","batch_size","`","and","`","observation_dim","`","are","deduced","from","the","distribution",".","observation_to_reward_distribution",":","A","distribution","from","`","tfp.distributions","`","with","shape","`","[","observation_dim",",","num_actions","]","`",".","The","value","`","observation_dim","`","must","match","the","second","dimension","of","`","observation_distribution","`",".","drift_distribution",":","A","scalar","distribution","from","`","tfp.distributions","`","of","type","tf.float32",".","It","represents","the","angle","of","rotation",".","additive_reward_distribution",":","A","distribution","from","`","tfp.distributions","`","with","shape","`","[","num_actions","]","`",".","This","models","the","non-contextual","behavior","of","the","bandit","."]
code: def __init__(
      self,
      observation_distribution: types.Distribution,
      observation_to_reward_distribution: types.Distribution,
      drift_distribution: types.Distribution,
      additive_reward_distribution: types.Distribution,
  ):
      """Initialize the environment with the dynamics parameters.
  
      Args:
        observation_distribution: A distribution from `tfp.distributions` with
          shape `[batch_size, observation_dim]`. Note that the values of
          `batch_size` and `observation_dim` are deduced from the distribution.
        observation_to_reward_distribution: A distribution from
          `tfp.distributions` with shape `[observation_dim, num_actions]`. The
          value `observation_dim` must match the second dimension of
          `observation_distribution`.
        drift_distribution: A scalar distribution from `tfp.distributions` of type
          tf.float32. It represents the angle of rotation.
        additive_reward_distribution: A distribution from `tfp.distributions` with
          shape `[num_actions]`. This models the non-contextual behavior of the
          bandit.
      """
      super(DriftingLinearEnvironment, self).__init__(
          DriftingLinearDynamics(
              observation_distribution,
              observation_to_reward_distribution,
              drift_distribution,
              additive_reward_distribution,
          )
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import gin
  import tensorflow
  from tf_agents.bandits.environments import non_stationary_stochastic_environment
  from tf_agents.specs import tensor_spec
  from tf_agents.typing import types
label_desc: Use image node_id 1 to create a new DriftingLinearEnvironment object from inherited base classes: nsse with example: obj = DriftingLinearEnvironment(observation_distribution, observation_to_reward_distribution, drift_distribution, additive_reward_distribution)