class_docstr: Wrap functionality for an agent emulating Atari in a separate process.
  
  An object of this class is created for every agent.
class_docstr_tok: ["Wrap","functionality","for","an","agent","emulating","Atari","in","a","separate","process",".","An","object","of","this","class","is","created","for","every","agent","."]
docstr: Start the remote process and create Pipe() to communicate with it.
docstr_tok: ["Start","the","remote","process","and","create","Pipe","(",")","to","communicate","with","it","."]
code: def __init__(self, game: str):
      """Start the remote process and create Pipe() to communicate with it."""
      parent_conn, child_conn = multiprocessing.Pipe()
      self.proc = multiprocessing.Process(
          target=rcv_action_send_exp, args=(child_conn, game)
      )
      self.proc.daemon = True
      self.conn = parent_conn
      self.proc.start()
  
file_path: flax/examples/ppo/agent.py
imports: import collections
  import functools
  import multiprocessing
  from typing import Any, Callable
  import flax
  import jax
  import numpy
  import env_utils
label_desc: Use image node_id 1 to create a new RemoteSimulator object  with example: obj = RemoteSimulator(game)