def extract_images(filename):
 print('Extracting', filename)
 with gzip.open(filename) as bytestream:
  magic = _read32(bytestream)
  if (magic != 2051):
   raise ValueError(('Invalid magic number %d in MNIST image file: %s' % (magic, filename)))
  num_images = _read32(bytestream)
  rows = _read32(bytestream)
  cols = _read32(bytestream)
  buf = bytestream.read(((rows * cols) * num_images))
  data = numpy.frombuffer(buf, dtype=numpy.uint8)
  data = data.reshape(num_images, rows, cols, 1)
  return data

def extract_images ( filename ) : print ( 'Extracting' , filename ) with gzip . open ( filename ) as bytestream : magic = _read32 ( bytestream ) if ( magic != 2051 ) : raise ValueError ( ( 'Invalid magic number %d in MNIST image file: %s' % ( magic , filename ) ) ) num_images = _read32 ( bytestream ) rows = _read32 ( bytestream ) cols = _read32 ( bytestream ) buf = bytestream . read ( ( ( rows * cols ) * num_images ) ) data = numpy . frombuffer ( buf , dtype = numpy . uint8 ) data = data . reshape ( num_images , rows , cols , 1 ) return data
extract the images into a 4d uint8 numpy array [index .