class_docstr: Batch together multiple py policies and act as a single batch.
  
  The policies should only access shared python variables using
  shared mutex locks (from the threading module).
class_docstr_tok: ["Batch","together","multiple","py","policies","and","act","as","a","single","batch",".","The","policies","should","only","access","shared","python","variables","using","shared","mutex","locks","(","from","the","threading","module",")","."]
code: def _get_initial_state(self, batch_size: int) -> types.NestedArray:
      if (
          self._num_policies == 1
      ):  # pytype: disable=attribute-error  # trace-all-classes
          return nest_utils.batch_nested_array(
              self._policies[
                  0
              ].get_initial_state()  # pytype: disable=attribute-error  # trace-all-classes
          )
      else:
          infos = self._execute(
              _execute_get_initial_state, self._policies
          )  # pytype: disable=attribute-error  # trace-all-classes
          infos = nest_utils.unbatch_nested_array(infos)
          return nest_utils.stack_nested_arrays(infos)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from multiprocessing import dummy
  from typing import Sequence, Optional
  import gin
  from tf_agents.policies import py_policy
  from tf_agents.trajectories import policy_step
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 5 for calling the BatchedPyPolicy obj's underlying member method code with example usage: obj._get_initial_state(batch_size) and returns: nest_utils, nest_utils