title: how to load a very large mat file in chunks?
body: <p>okay so the code is like this
  X1 is the loaded hyperspectral image with dimensions (512x512x91)
  what i am trying to do is basically crop 64x64x91 sized matrices with a changing stride of 2. this gives me a total of 49952 images each of 64x64x91 size however when i run the for loop i get the memory error.
  my system has 8 GB ram.</p>
  
  <pre><code>data_images_0=np.zeros((49952,256,256,91))
  k=0
  for i in range(0,512-64,2):
      r=64
      print(k)
      for j in range (0,512-64,2):   
          #print(k)
          data_images_0[k,:,:,:]=X1[i:i+r,j:j+r,:]
          k=k+1
  </code></pre>
  
  <p>I have a hyperspectral image loaded as a Mat file and the dimensions are (512x512x91). I want to use chunks of this image as the input to my CNN for example using crops of 64x64x91. The problem is once i create the crops out of the original image i have trouble loading the data as loading all the crops at once gives me memory error.
  Is there something i can do to load my cropped data in batches so that i dont receive such a memory error. 
  Should i convert my data into some other format or proceed the problem in some other way?</p>