class_docstr: A class to store nested objects in a collection of numpy arrays.
  
  If a data_spec of `{'foo': ArraySpec(shape=(4,), dtype=np.uint8), 'bar':
  ArraySpec(shape=(3, 7), dtype=np.float32)}` were used, then this would create
  two arrays, one for the 'foo' key and one for the 'bar' key. The .get and
  .set methods would return/take Python dictionaries, but break down the
  component arrays before storing them.
docstr: Get value stored at idx.
docstr_tok: ["Get","value","stored","at","idx","."]
code: def get(self, idx):
      """Get value stored at idx."""
      encoded_item = []
      for buf_idx in range(len(self._flat_specs)):
          encoded_item.append(self._array(buf_idx)[idx])
      return tf.nest.pack_sequence_as(self._data_spec, encoded_item)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import io
  import numpy
  import tensorflow
  from tf_agents.specs import array_spec
  from tensorflow.python.trackable import base
  from tensorflow.python.trackable import data_structures
label_desc: Use image node_id 3 for calling the NumpyStorage obj's underlying member method code with example usage: obj.get(idx) and returns: tf