class_docstr: CIFAR10 data set from https://www.cs.toronto.edu/~kriz/cifar.html
  
  Arguments:
      path (str): Local path to copy data files.
      normalize (bool): Flag to normalize data.
      whiten (bool): Flag to apply whitening transform.
      pad_classes (bool): Flag to pad out class count to 16
                          for compatibility with conv layers on GPU.
docstr: Compute the zca whitening transform matrix.
docstr_tok: ["Compute","the","zca","whitening","transform","matrix","."]
code: def _compute_zca_transform(imgs, filter_bias=0.1):
      """
      Compute the zca whitening transform matrix.
      """
      logger.info("Computing ZCA transform matrix")
      meanX = np.mean(imgs, 0)
  
      covX = np.cov(imgs.T)
      D, E = np.linalg.eigh(
          covX + filter_bias * np.eye(covX.shape[0], covX.shape[1])
      )
  
      assert not np.isnan(D).any()
      assert not np.isnan(E).any()
      assert D.min() > 0
  
      D = D**-0.5
  
      W = np.dot(E, np.dot(np.diag(D), E.T))
      return meanX, W
  
imports: from __future__ import division
  from future import standard_library
  from builtins import str
  import gzip
  import logging
  import numpy
  import os
  import tarfile
  from neon.util.compat import pickle
  from neon.util.compat import pickle_load
  from neon.data.datasets import Dataset
  from neon.data.dataiterator import ArrayIterator
label_desc: Use image node_id 4 for calling the CIFAR10 obj's underlying member method code with example usage: obj._compute_zca_transform(imgs, filter_bias) and returns: meanX,  W