class_docstr: Reducer callable to dump large arrays to memmap files.
  
  Parameters
  ----------
  max_nbytes: int
      Threshold to trigger memmapping of large arrays to files created
      a folder.
  temp_folder_resolver: callable
      An callable in charge of resolving a temporary folder name where files
      for backing memmapped arrays are created.
  mmap_mode: 'r', 'r+' or 'c'
      Mode for the created memmap datastructure. See the documentation of
      numpy.memmap for more details. Note: 'w+' is coerced to 'r+'
      automatically to avoid zeroing the data on unpickling.
  verbose: int, optional, 0 by default
      If verbose > 0, memmap creations are logged.
      If verbose > 1, both memmap creations, reuse and array pickling are
      logged.
  prewarm: bool, optional, False by default.
      Force a read on newly memmapped array to make sure that OS pre-cache it
      memory. This can be useful to avoid concurrent disk access when the
      same data array is passed to different worker processes.
class_docstr_tok: ["Reducer","callable","to","dump","large","arrays","to","memmap","files",".","Parameters","--","--","--","--","--","max_nbytes",":","int","Threshold","to","trigger","memmapping","of","large","arrays","to","files","created","a","folder",".","temp_folder_resolver",":","callable","An","callable","in","charge","of","resolving","a","temporary","folder","name","where","files","for","backing","memmapped","arrays","are","created",".","mmap_mode",":","'","r","'",",","'","r+","'","or","'","c'","Mode","for","the","created","memmap","datastructure",".","See","the","documentation","of","numpy.memmap","for","more","details",".","Note",":","'","w+","'","is","coerced","to","'","r+'","automatically","to","avoid","zeroing","the","data","on","unpickling",".","verbose",":","int",",","optional",",","0","by","default","If","verbose",">","0",",","memmap","creations","are","logged",".","If","verbose",">","1",",","both","memmap","creations",",","reuse","and","array","pickling","are","logged",".","prewarm",":","bool",",","optional",",","False","by","default",".","Force","a","read","on","newly","memmapped","array","to","make","sure","that","OS","pre-cache","it","memory",".","This","can","be","useful","to","avoid","concurrent","disk","access","when","the","same","data","array","is","passed","to","different","worker","processes","."]
code: def __reduce__(self):
      # The ArrayMemmapForwardReducer is passed to the children processes: it
      # needs to be pickled but the _WeakArrayKeyMap need to be skipped as
      # it's only guaranteed to be consistent with the parent process memory
      # garbage collection.
      # Although this reducer is pickled, it is not needed in its destination
      # process (child processes), as we only use this reducer to send
      # memmaps from the parent process to the children processes. For this
      # reason, we can afford skipping the resolver, (which would otherwise
      # be unpicklable), and pass it as None instead.
      args = (
          self._max_nbytes,
          None,
          self._mmap_mode,
          self._unlink_on_gc_collect,
      )
      kwargs = {
          "verbose": self.verbose,
          "prewarm": self._prewarm,
      }
      return ArrayMemmapForwardReducer, args, kwargs
  
imports: from mmap import mmap
  import errno
  import os
  import stat
  import threading
  import atexit
  import tempfile
  import time
  import warnings
  import weakref
  from uuid import uuid4
  from multiprocessing import util
  from pickle import whichmodule, loads, dumps, HIGHEST_PROTOCOL, PicklingError
  from .numpy_pickle import dump, load, load_temporary_memmap
  from .backports import make_memmap
  from .disk import delete_folder
  from .externals.loky.backend import resource_tracker
label_desc: Use image node_id 3 for calling the ArrayMemmapForwardReducer obj's underlying member method code with example usage: obj.__reduce__() and returns: ArrayMemmapForwardReducer,  args,  kwargs