美文网首页
解决numpy.core._exceptions.MemoryE

解决numpy.core._exceptions.MemoryE

作者: 泡泡_e661 | 来源:发表于2020-08-22 00:34 被阅读0次

    做机器学习数据预处理的时候遇到 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(之后会尝试是否可以解决上述问题)。如果哪位小伙伴有更好的解决办法,欢迎留言交流。谢谢🙏

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

    相关文章

      网友评论

          本文标题:解决numpy.core._exceptions.MemoryE

          本文链接:https://www.haomeiwen.com/subject/ozcttktx.html