class_docstr: Map an index to its containing block path.
  
  The common use for this class is to have a directory of files containing
  blocks of processed data, of uniform block size (e.g., 100k samples per
  file). Each file must follow a naming convention of 'startIdx-endIdx.[ext]',
  where 'endIdx' minus 'startIdx' must equal the block size, with the possible
  exception of the final block. Given an input index, this class maps the
  index to the containing block file.
class_docstr_tok: ["Map","an","index","to","its","containing","block","path",".","The","common","use","for","this","class","is","to","have","a","directory","of","files","containing","blocks","of","processed","data",",","of","uniform","block","size","(","e.g.",",","100k","samples","per","file",")",".","Each","file","must","follow","a","naming","convention","of","'startIdx-endIdx",".","[","ext","]","'",",","where","'endIdx","'","minus","'startIdx","'","must","equal","the","block","size",",","with","the","possible","exception","of","the","final","block",".","Given","an","input","index",",","this","class","maps","the","index","to","the","containing","block","file","."]
code: def __str__(self):
      return "%d paths" % len(self.block_path_map)
  
file_path: megatron-lm/tools/bert_embedding/utils.py
imports: from collections import defaultdict
  import glob
  import numpy
  import os
  import torch
  from tqdm import tqdm
  from megatron import print_rank_0
  from megatron.core import parallel_state
  from .external_libs import h5py
label_desc: Use image node_id 3 for calling the BlockPathMap obj's underlying member method code with example usage: obj.__str__() and returns: unknown