解决numpy.core._exceptions.MemoryError问题办法

做机器学习数据预处理的时候遇到 numpy.core._exceptions.MemoryError: Unable to allocate array with shape (150000, 20, 1600) and data type float64. 主要是因为内存大小不足导致的问题,还有出现OSError: [Errno 12] Cannot allocate memory这个错误,也是由于内存不足引起的。如果是运行在linux系统下,可以用cat /proc/meminfo 指令查看可使用内存是多少。同时在程序运行期间,可以使用top  -u user(程序运行时的用户名)来监测内存使用情况。

解决上述2个内存问题:

    1. 如果可以继续分配内存,增加内存空间的大小。监测程序运行过程使用的内存峰值,确定需要增加多少内存空间。如果没有可以分配的内存可以直接尝试步骤2的方法,但不确保可以完全解决问题。

    2. 如果增加内存空间之后仍有内存问题,使用cat /proc/sys/vm/overcommit_memory 指令,如果返回结果是0,可以作为root用户,使用echo 1 > /proc/sys/vm/overcommit_memory 将其值改为1. 

如果在完成步骤1,2 之后,仍有内存问题,可能需要增加内存条,或者使用GPU(之后会尝试是否可以解决上述问题)。如果哪位小伙伴有更好的解决办法,欢迎留言交流。谢谢🙏

如果觉得本文有帮助,请点个赞👍吧,如果喜欢我的文章,请点击关注,谢谢!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容