假设我创建一个数组:
a=np.ones((21600,13,3,128),dtype=complex)
我记错了。你知道吗
如果我是数组大小的一半(注意,在我的计算机上创建此数组需要10分钟以上):
b=np.ones((10800,13,3,128),dtype=complex)
其大小(GB)为:
b.nbytes/1024**3 = 0.803375244140625 GB
这远远低于我笔记本电脑中的内存量(2GB)-因此,我认为创建“a”应该是可行的。有什么限制因素阻止我处理这么大的数组?你知道吗
理想情况下,我想用dtype=complex
创建一个形状(86400,13,3,128)
的数组。你知道吗
有没有办法做到这一点而不把它分开?你知道吗
如果你的笔记本电脑有2GB的ram,
a
会占用1.6的内存,那么内存不足的可能性就相当大了。Windows,你的浏览器,邮件等等都已经需要很多了。你知道吗另外,numpy还需要一个1.6gb的连续内存块。 这样就更不可能有这么大的障碍。你知道吗
如果您的应用程序/用例允许,尝试将数据存储在稀疏矩阵中可能是值得的。这只存储非零元素-这可以节省大量内存(或不存储): http://docs.scipy.org/doc/scipy/reference/sparse.html
相关问题 更多 >
编程相关推荐