class_docstr: trpo class
class_docstr_tok: ["trpo","class"]
docstr: set actor trainable parameters
  :param flat_params: inputs
  :return: None
docstr_tok: ["set","actor","trainable","parameters",":","param","flat_params",":","inputs",":","return",":","None"]
code: def set_pi_params(self, flat_params):
      """
      set actor trainable parameters
      :param flat_params: inputs
      :return: None
      """
      pi_params = self.actor.trainable_weights
      flat_size = lambda p: int(
          np.prod(p.shape.as_list())
      )  # the 'int' is important for scalars
      splits = tf.split(flat_params, [flat_size(p) for p in pi_params])
      new_params = [
          tf.reshape(p_new, p.shape)
          for p, p_new in zip(pi_params, splits)
      ]
      return tf.group(
          [p.assign(p_new) for p, p_new in zip(pi_params, new_params)]
      )
  
imports: import argparse
  import copy
  import os
  import threading
  import time
  import gym
  import matplotlib.pyplot
  import numpy
  import scipy.signal
  import tensorflow
  import tensorflow_probability
  import tensorlayer
label_desc: Use image node_id 9 for calling the TRPO obj's underlying member method code with example usage: obj.set_pi_params(flat_params) and returns: tf