code: def read_header(self):
      header = np.fromfile(self._fname, dtype=HeaderType, count=1)[0]
      header.setflags(write=False)
      version = header["version"]
  
      if version != CURRENT_VERSION:
          msg = f"file format mismatch: code={CURRENT_VERSION},file={version}"
          raise AssertionError(msg)
  
      self.num_samples = header["num_samples"]
      self.page_size = header["page_size"]
      self.num_fields = header["num_fields"]
      self.header = header
  
file_path: ffcv/ffcv/reader.py
imports: import numpy
  from .utils import decode_null_terminated_string
  from .types import ALLOC_TABLE_TYPE, HeaderType, CURRENT_VERSION, FieldDescType, get_handlers, get_metadata_type
label_desc: Use image node_id 3 for calling the Reader obj's underlying member method code with example usage: obj.read_header() without return types