code: def plot_occlusion(net, X, target, square_length=7, figsize=(9, None)):
      
      return _plot_heat_map(
          net, X, figsize, lambda net, X, n: occlusion_heatmap(
              net, X, target[n], square_length))
docs: Plot which parts of an image are particularly import for the
      net to classify the image correctly.
  
      See paper: Zeiler, Fergus 2013
  
      Parameters
      ----------
      net : NeuralNet instance
        The neural net to test.
  
      X : numpy.array
        The input data, should be of shape (b, c, 0, 1). Only makes
        sense with image data.
  
      target : list or numpy.array of ints
        The true values of the image. If the net makes several
        predictions, say 10 classes, this indicates which one to look
        at. If more than one sample is passed to X, each of them needs
        its own target.
  
      square_length : int (default=7)
        The length of the side of the square that occludes the image.
        Must be an odd number.
  
      figsize : tuple (int, int)
        Size of the figure.
  
      Plots
      -----
      Figure with 3 subplots: the original image, the occlusion heatmap,
      and both images super-imposed.