class_docstr: Container class for holding and managing job data.
  
  :class:`Job` is intended as a on-the-fly job handler that keeps track
  of input data, predictions, and manages estimation caches.
  
  .. versionchanged:: 0.2.0
  
  See Also
  --------
  :class:`ParallelProcessing`, :class:`ParallelEvaluation`
  
  Parameters
  ----------
  job : str
      Type of job to run. One of ``'fit'``, ``'transform'``, ``'predict'``.
  
  stack : bool
      Whether to stack outputs when calls to
      :func:`~mlens.parallel.backend.Job.update` are made. This will make
      the ``predict_out`` array become ``predict_in``.
  
  split : bool
      Whether to create a new sub-cache when the
      :attr:`~mlens.parallel.backend.Job.args` property is called.
  
  dir : str, dict, optional
      estimation cache. Pass dictionary for use with multiprocessing or a
      string pointing to the disk directory to create the cache in
  
  tmp : obj, optional
      a Tempfile object for temporary directories
  
  targets : array-like of shape [n_in_samples,], optional
      input targets
  
  predict_in : array-like of shape [n_in_samples, n_in_features], optional
      input data
  
  predict_out : array_like of shape [n_out_samples, n_out_features], optional
      prediction output array
class_docstr_tok: ["Container","class","for","holding","and","managing","job","data",".",":","class",":","`","Job","`","is","intended","as","a","on-the-fly","job","handler","that","keeps","track","of","input","data",",","predictions",",","and","manages","estimation","caches",".","..","versionchanged",":",":","0.2.0","See","Also","--","--","--","--",":","class",":","`","ParallelProcessing","`",",",":","class",":","`","ParallelEvaluation","`","Parameters","--","--","--","--","--","job",":","str","Type","of","job","to","run",".","One","of","``","'fit","'","``",",","``","'transform","'","``",",","``","'predict","'","``",".","stack",":","bool","Whether","to","stack","outputs","when","calls","to",":","func",":","`","~mlens.parallel.backend.Job.update","`","are","made",".","This","will","make","the","``","predict_out","``","array","become","``","predict_in","``",".","split",":","bool","Whether","to","create","a","new","sub-cache","when","the",":","attr",":","`","~mlens.parallel.backend.Job.args","`","property","is","called",".","dir",":","str",",","dict",",","optional","estimation","cache",".","Pass","dictionary","for","use","with","multiprocessing","or","a","string","pointing","to","the","disk","directory","to","create","the","cache","in","tmp",":","obj",",","optional","a","Tempfile","object","for","temporary","directories","targets",":","array-like","of","shape","[","n_in_samples",",","]",",","optional","input","targets","predict_in",":","array-like","of","shape","[","n_in_samples",",","n_in_features","]",",","optional","input","data","predict_out",":","array_like","of","shape","[","n_out_samples",",","n_out_features","]",",","optional","prediction","output","array"]
docstr: Updated output array and shift to input if stacked.
  
  If stacking is en force, the output array will replace the input
  array, and used as input for subsequent jobs. Sparse matrices are
  force-converted to ``csr`` format.
docstr_tok: ["Updated","output","array","and","shift","to","input","if","stacked",".","If","stacking","is","en","force",",","the","output","array","will","replace","the","input","array",",","and","used","as","input","for","subsequent","jobs",".","Sparse","matrices","are","force-converted","to","``","csr","``","format","."]
code: def update(self):
      """Updated output array and shift to input if stacked.
  
      If stacking is en force, the output array will replace the input
      array, and used as input for subsequent jobs. Sparse matrices are
      force-converted to ``csr`` format.
      """
      if self.predict_out is None:
          return
      if issparse(
          self.predict_out
      ) and not self.predict_out.__class__.__name__.startswith("csr"):
          # Enforce csr on spare matrices
          self.predict_out = self.predict_out.tocsr()
  
      if self.stack:
          self.predict_in = self.predict_out
          self.rebase()
  
imports: from __future__ import with_statement, division
  import gc
  import os
  import shutil
  import subprocess
  import tempfile
  import warnings
  from abc import ABCMeta, abstractmethod
  import numpy
  from scipy.sparse import issparse, hstack
  from ..None import config
  from ..externals.joblib import Parallel, dump, load
  from ..utils import check_initialized
  from ..utils.exceptions import ParallelProcessingError, ParallelProcessingWarning
  from ..externals.sklearn.validation import check_random_state
label_desc: Use image node_id 3 for calling the Job obj's underlying member method code with example usage: obj.update() without return types