在神经网络中经常使用到numpy,那么numpy选用哪种存储方式,更好?
1.先了解numpy数组占用内存空间的大小
以下代码请参考原文:【原文】


一个空的 numpy 数组,无论什么类型,都是占用 96 个字节(byte)。
一个 int32 和一个 float32 都是占用 4 个字节,而64位的都占用 8 个字节。
假设一个矩阵是50万*50万,每个位置存一个int32的整数,需要多大内存?
500000*500000*4Byte = 500000*500*4KB=500*500*4MB=50*4GB=200GB (每次除以1000)
假设一个矩阵是50万*50,每个位置存一个int32的整数,需要多大内存?
500000*50*4Byte=500*50*4KB=5*5*4MB=100MB (每次除以1000)
果然词向量表示的方式,解决了one-hot维度灾难问题。

2.了解一下numpy数组的存储方式

其他相关知识点,待补:稀疏矩阵存法
参考文章:
网友评论