code: def _split_and_reshape_to_ndarrays(flat_v, sizes, shapes):
      """Split and reshape a single flat vector to make a list of ndarrays."""
      xp = chainer.cuda.get_array_module(flat_v)
      sections = np.cumsum(sizes)
      vs = xp.split(flat_v, sections)
      return [v.reshape(shape) for v, shape in zip(vs, shapes)]
  
imports: import collections
  import itertools
  from logging import getLogger
  import random
  import chainer
  import chainer.functions
  import numpy
  import chainerrl
  from chainerrl import agent
  from chainerrl.agents.ppo import _compute_explained_variance
  from chainerrl.agents.ppo import _make_dataset
  from chainerrl.agents.ppo import _make_dataset_recurrent
  from chainerrl.agents.ppo import _yield_subset_of_sequences_with_fixed_number_of_items
  from chainerrl.misc.batch_states import batch_states
label_desc: Use image node_id 5 for calling a global function with example usage: _split_and_reshape_to_ndarrays(flat_v, sizes, shapes) and returns: unknown