I run this simple code in below to load images from a folder and after around 200 images I get this error "Fail to allocate bitmap". The problem mainly in the matplotlib.pyplot. I try to free the memory inside the loop using the 7 ways which shown in the code but unfortunately useless.
I found similar question but with no answer! I hope to receive solution for this problem.
from __future__ import division
import os
import numpy as np
import gc
from os import listdir
from os.path import isfile, join
import matplotlib.pyplot as plt
from PIL import Image
def test():
    
    entries = os.listdir(r"D:\Images")
    for entry in entries:
     if entry.endswith(".jpg"):
     
      img = np.array(Image.open(r"D:\Images\{}".format(entry)))
      fig, ax = plt.subplots(1)
      #Many ways I added to free the memory#
      plt.close('all')
      fig.clear()
      ax.clear()
      plt.clf()
      gc.collect()
      plt.close(fig)
      del img
      #####################################
UPDATE:
My Environment is Anaconda 3, OS: Windows 10
UPDATE:
I replaced this line:
fig, ax = plt.subplots(1)
With
fig, ax = plt.subplots(num=1, clear=True)
And the code became running for longer time, before I got the error after loading 185 images but now after I added "clear=true" the error appears after 369 images so this almost became the double. but the problem is still exist!
 
     
    