class_docstr: A subclass of :class:`~ffcv.fields.Field` supporting
  multi-dimensional fixed size matrices of any numpy type.
class_docstr_tok: ["A","subclass","of",":","class",":","`","~ffcv.fields.Field","`","supporting","multi-dimensional","fixed","size","matrices","of","any","numpy","type","."]
code: def __init__(self, dtype: np.dtype, shape: Tuple[int, ...]):
      self.dtype = dtype
      self.shape = shape
      self.element_size = dtype.itemsize * np.prod(shape)
      if dtype == np.uint16:
          warnings.warn(
              "Pytorch currently doesn't support uint16"
              "we recommend storing as int16 and reinterpret your data later"
              "in your pipeline"
          )
  
imports: from typing import Callable, TYPE_CHECKING, Tuple, Type
  import warnings
  import json
  from dataclasses import replace
  import numpy
  import torch
  from .base import Field, ARG_TYPE
  from ..pipeline.operation import Operation
  from ..pipeline.state import State
  from ..pipeline.compiler import Compiler
  from ..pipeline.allocation_query import AllocationQuery
  from ..libffcv import memcpy
label_desc: Use image node_id 1 to create a new NDArrayField object from inherited base classes: Field with example: obj = NDArrayField(dtype, shape)