gpt4 book ai didi

python - 分配位图失败

转载 作者:行者123 更新时间:2023-12-05 06:01:02 31 4
gpt4 key购买 nike

我在下面运行这个简单的代码以从文件夹加载图像,在大约 200 张图像后我收到此错误“无法分配位图”。问题主要在matplotlib.pyplot。我尝试使用代码中显示的 7 种方法释放循环内的内存,但不幸的是没有用。

我发现了类似的问题,但没有答案!我希望得到这个问题的解决方案。

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
#####################################

更新:

我的环境是Anaconda 3,操作系统:Windows 10

更新:

我替换了这一行:

fig, ax = plt.subplots(1)

fig, ax = plt.subplots(num=1, clear=True)

并且代码运行了更长的时间,在我加载 185 张图像后出现错误之前,但现在在我添加“clear=true”之后错误出现在 369 张图像之后,所以这几乎变成了双重错误。但问题依然存在!

最佳答案

我在创建数百个绘图并将它们保存到文件时遇到此错误。在每个绘图后调用以下行为我完全消除了上述错误:

plt.clf()

我可以推荐这个答案以获取更多信息。: https://stackoverflow.com/a/8228808/1935801

关于python - 分配位图失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67352611/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com