我使用以下命令生成numpy数组:
p_desct = np.random.uniform(-1, 0.4, [5000000, 512])
内存大小约为20G
特征矩阵(C++)中的相同数据:
Eigen::MatrixXf x_im = Eigen::MatrixXf::Random(5000000,512);
MemorySize ~9,6G
case numpy数组的内存使用量是相同矩阵的两倍吗?
还是我错过了什么?
发布于 2021-04-16 17:51:29
缺省的https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.float_.数据类型是float_,但令人困惑的是,这是一个双精度的numpy
Eigen数据类型中的f后缀表示32位传统浮点数,因此是numpy使用的64位双精度数大小的一半。
试一试
np.random.uniform(-1,0.4,5000000,512,dtype=np.float32)和比较。
https://stackoverflow.com/questions/67122909
复制相似问题