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 from_binary(binary: ARG_TYPE) -> Field:
      header_size = NDArrayArgsType.itemsize
      header = binary[:header_size].view(NDArrayArgsType)[0]
      type_length = header["type_length"]
      type_data = (
          binary[header_size:][:type_length].tobytes().decode("ascii")
      )
      type_desc = json.loads(type_data)
      type_desc = [tuple(x) for x in type_desc]
      assert len(type_desc) == 1
      dtype = np.dtype(type_desc)["f0"]
      shape = list(header["shape"])
      while shape[-1] == 0:
          shape.pop()
  
      return NDArrayField(dtype, tuple(shape))
  
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 3 for calling the NDArrayField obj's underlying member method code with example usage: obj.from_binary(binary) and returns: NDArrayField