class_docstr: Actor-Critic Policy Gradient.
  
  See https://arxiv.org/pdf/1602.01783.pdf for a description of algorithm.
docstr: Constructor for policy gradient.
  
  Args:
      config_filename: configure file specifying training details.
      o_space: observation space, gym.spaces.tuple_space.Tuple is not
          supported.
      a_space: action space, limits to gym.spaces.discrete.Discrete.
docstr_tok: ["Constructor","for","policy","gradient",".","Args",":","config_filename",":","configure","file","specifying","training","details",".","o_space",":","observation","space",",","gym.spaces.tuple_space.Tuple","is","not","supported",".","a_space",":","action","space",",","limits","to","gym.spaces.discrete.Discrete","."]
code: def __init__(self, config_filename, o_space, a_space):
      """
      Constructor for policy gradient.
  
      Args:
          config_filename: configure file specifying training details.
          o_space: observation space, gym.spaces.tuple_space.Tuple is not
              supported.
          a_space: action space, limits to gym.spaces.discrete.Discrete.
      """
      super(ActorCritic, self).__init__(o_space, a_space)
  
      self._parameters = PolicyGradientParameters(config_filename)
  
      # Create preprocessor.
      if self._parameters.preprocessing:
          preproc = self._import_method(self._parameters.preprocessing)
          self._preprocessor = preproc(
              self._shape_of_inputs,
              *ast.literal_eval(self._parameters.preprocessing_args),
          )
  
      self._set_up_policy_network_and_value_network()
  
      self._trajectory_states = []
      self._trajectory_actions = []
      self._trajectory_rewards = []
  
      # Training data for the policy and value networks. Note they share the
      # same input.
      self._input_buffer = []
      self._value_network_output_buffer = []
      self._policy_network_output_buffer = []
      self._policy_network_weight_buffer = []
  
      self.episode_count = 0
      self.step_count = 0
  
imports: import cntk
  import numpy
  import ast
  from .agent import AgentBaseClass
  from .shared.cntk_utils import negative_of_entropy_with_softmax
  from .shared.models import Models
  from .shared.policy_gradient_parameters import PolicyGradientParameters
label_desc: Use image node_id 1 to create a new ActorCritic object from inherited base classes: AgentBaseClass with example: obj = ActorCritic(config_filename, o_space, a_space)