class_docstr: SimulatedBatchEnv in a Gym-like interface, environments are  batched.
code: def __init__(self, *args, **kwargs):
      with tf.Graph().as_default():
          self._batch_env = SimulatedBatchEnv(*args, **kwargs)
  
          self._actions_t = tf.placeholder(
              shape=(self.batch_size,), dtype=tf.int32
          )
          self._rewards_t, self._dones_t = self._batch_env.simulate(
              self._actions_t
          )
          with tf.control_dependencies([self._rewards_t]):
              self._obs_t = self._batch_env.observ
          self._indices_t = tf.placeholder(
              shape=(self.batch_size,), dtype=tf.int32
          )
          self._reset_op = self._batch_env.reset(
              tf.range(self.batch_size, dtype=tf.int32)
          )
  
          self._sess = tf.Session()
          self._sess.run(tf.global_variables_initializer())
          self._batch_env.initialize(self._sess)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from gym import Env
  import numpy
  from tensor2tensor.rl.envs.simulated_batch_env import SimulatedBatchEnv
  import tensorflow.compat.v1
label_desc: Use image node_id 1 to create a new SimulatedBatchGymEnv object from inherited base classes: Env with example: obj = SimulatedBatchGymEnv()