code: def build_program(self):
      self.sample_program = fluid.Program()
      self.predict_program = fluid.Program()
      self.learn_program = fluid.Program()
  
      with fluid.program_guard(self.sample_program):
          obs = layers.data(
              name="obs", shape=self.obs_shape, dtype="float32"
          )
          sample_actions, values = self.alg.sample(obs)
          self.sample_outputs = [sample_actions.name, values.name]
  
      with fluid.program_guard(self.predict_program):
          obs = layers.data(
              name="obs", shape=self.obs_shape, dtype="float32"
          )
          self.predict_actions = self.alg.predict(obs)
  
      with fluid.program_guard(self.learn_program):
          obs = layers.data(
              name="obs", shape=self.obs_shape, dtype="float32"
          )
          actions = layers.data(name="actions", shape=[], dtype="int64")
          advantages = layers.data(
              name="advantages", shape=[], dtype="float32"
          )
          target_values = layers.data(
              name="target_values", shape=[], dtype="float32"
          )
          lr = layers.data(
              name="lr",
              shape=[1],
              dtype="float32",
              append_batch_size=False,
          )
          entropy_coeff = layers.data(
              name="entropy_coeff", shape=[], dtype="float32"
          )
  
          self.learn_reader = fluid.layers.create_py_reader_by_data(
              capacity=32,
              feed_list=[
                  obs,
                  actions,
                  advantages,
                  target_values,
                  lr,
                  entropy_coeff,
              ],
          )
          (
              obs,
              actions,
              advantages,
              target_values,
              lr,
              entropy_coeff,
          ) = fluid.layers.read_file(self.learn_reader)
  
          total_loss, pi_loss, vf_loss, entropy = self.alg.learn(
              obs, actions, advantages, target_values, lr, entropy_coeff
          )
          self.learn_outputs = [
              total_loss.name,
              pi_loss.name,
              vf_loss.name,
              entropy.name,
          ]
  
file_path: PARL/benchmark/fluid/GA3C/atari_agent.py
imports: import numpy
  import paddle.fluid
  import parl
  from parl import layers
  from parl.utils import machine_info
label_desc: Use image node_id 2 for calling the AtariAgent obj's underlying member method code with example usage: obj.build_program() without return types