我正试图在Python中加载一个由7000.mat文件组成的数据集,作为7000-d张量,每个条目的形状为100 x 100 x 100×3。整个数据集小于80 MB。我正在使用Spyder。代码如下
dataDir = "/Users/..."
data= []
x_train = np.empty([7165, 100*100*100*3])
x_train = x_train.reshape([7165, 100, 100, 100, 3])
i = 0;
for file in sorted_alphanumeric(os.listdir( dataDir )):
data = scipy.io.loadmat( dataDir+file ) #store data as LIST
x_train[i] = np.array(data['tensor'])
i = i + 1
然而,在读取了大约2300行之后,内核就死了,程序也停止运行。内核为什么会死?如何存储数据集?在我看来,数据集并没有那么大;存储器";控制台中的键总是在76%左右。
7000x100x100=70000000内存太多,即使在位7 000 000 000*3位中也无法处理=2.62500 GB
不要一次加载整个数据集,以免耗尽RAM。即使在Google Colab等在线工具上,也无法避免将数据集划分为多个部分
处理大数据集的方法是通过批量训练(即通过一次加载一批数据集来训练模型(。