class_docstr: Wraps a numpy memmap as a datastore for decoder state vectors.
  
  :param file_name: disk file path to store the memory-mapped file
  :param num_dim: number of dimensions of the vectors in the data store
  :param dtype: data type of the vectors in the data store
class_docstr_tok: ["Wraps","a","numpy","memmap","as","a","datastore","for","decoder","state","vectors",".",":","param","file_name",":","disk","file","path","to","store","the","memory-mapped","file",":","param","num_dim",":","number","of","dimensions","of","the","vectors","in","the","data","store",":","param","dtype",":","data","type","of","the","vectors","in","the","data","store"]
docstr: Create a memmap handle and initialize its sizes.
docstr_tok: ["Create","a","memmap","handle","and","initialize","its","sizes","."]
code: def open(self, initial_size: int, block_size: int) -> None:
      """Create a memmap handle and initialize its sizes."""
      self.mmap = np.memmap(
          self.file_name,
          dtype=self.dtype,
          mode="w+",
          shape=(initial_size, self.num_dim),
      )
      self.size = initial_size
      self.block_size = block_size
  
imports: import argparse
  import logging
  import os
  from typing import List, Optional
  import numpy
  import torch
  from .None import arguments
  from .None import constants
  from .None import data_io
  from .None import utils
  from .log import setup_main_logger
  from .model import SockeyeModel, load_model
  from .vocab import Vocab
  from .utils import check_condition
  from .knn import KNNConfig, get_state_store_path, get_word_store_path, get_config_path
label_desc: Use image node_id 2 for calling the NumpyMemmapStorage obj's underlying member method code with example usage: obj.open(initial_size, block_size) without return types