Python 如何修复此错误:(-4:内存不足)无法在函数中分配6220800字节?
在这里,我试图从我的根文件夹中读取大量图像,但出现了此类错误。如何解决此问题 代码: 返回一个错误:Python 如何修复此错误:(-4:内存不足)无法在函数中分配6220800字节?,python,python-3.x,function,Python,Python 3.x,Function,在这里,我试图从我的根文件夹中读取大量图像,但出现了此类错误。如何解决此问题 代码: 返回一个错误: --------------------------------------------------------------------------- error Traceback (most recent call last) <ipython-input-15-99a421951aee> in <mo
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-15-99a421951aee> in <module>
168 #videos=f'F:/deepfake_data/train_sample_videos_2/{i}'
169 root_dir='F:/deepfake_data/train_sample_videos_2/'
--> 170 save_diffs(pairs,root_dir)
171
<ipython-input-15-99a421951aee> in save_diffs(pair, root_dir)
140 frame_2=[]
141 for n in range(0, len(onlyfiles)):
--> 142 img[n] = cv2.imread( join(mypath,onlyfiles[n]) )
143 frame_2.append(img[n])
144
error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-2b5g8ysb\opencv\modules\core\src\alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 6220800 bytes in function 'cv::OutOfMemoryError'
该错误仅表明,通过用图像填充内存,耗尽了内存。 换句话说,“deepfake_data”文件夹中的图像太多,无法放入电脑的临时内存 考虑到问题中提供的信息非常有限,可能的解决办法如下:
更多信息将大大缩小答案范围。内存不是问题所在,问题在于地址空间。无论您的系统中有多少RAM,默认的32位Python版本只能访问2GB的RAM
尝试安装64位版本的Python和OpenCV,即使最后换成光盘,也应该有足够的地址空间。您可能需要下载6.22MB的额外RAM。
---------------------------------------------------------------------------
error Traceback (most recent call last)
<ipython-input-15-99a421951aee> in <module>
168 #videos=f'F:/deepfake_data/train_sample_videos_2/{i}'
169 root_dir='F:/deepfake_data/train_sample_videos_2/'
--> 170 save_diffs(pairs,root_dir)
171
<ipython-input-15-99a421951aee> in save_diffs(pair, root_dir)
140 frame_2=[]
141 for n in range(0, len(onlyfiles)):
--> 142 img[n] = cv2.imread( join(mypath,onlyfiles[n]) )
143 frame_2.append(img[n])
144
error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-2b5g8ysb\opencv\modules\core\src\alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 6220800 bytes in function 'cv::OutOfMemoryError'
mypath="F:/deepfake_data/fake_id.jpg/*.*"
frame_2=load_images_from_folder_2(mypath)
print(frame_2)