内核在Python中加载数据集时死亡:为什么会发生这种情况?

内核在Python中加载数据集时死亡:为什么会发生这种情况?,python,scipy,dataset,spyder,Python,Scipy,Dataset,Spyder,我试图在Python中加载一个包含7000个.mat文件的数据集,作为一个7000-d张量,每个条目的形状为100 x 100 x 100 x 3。整个数据集小于80MB。我用的是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

我试图在Python中加载一个包含7000个.mat文件的数据集,作为一个7000-d张量,每个条目的形状为100 x 100 x 100 x 3。整个数据集小于80MB。我用的是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%左右。

<7000x100x100x100=700000000的内存太多,即使在位中也无法处理 7000*3位=
2.62500千兆字节

7000x100x100x100=700000000的内存太多,即使是在 7000*3位=
2.62500 GB

不要一次加载整个数据集,以免耗尽RAM。这是无法避免的,即使是在线工具,如Google Colab和将数据集划分为多个段。

处理大数据集的方法是通过批量训练(即通过一次加载一批数据集来训练模型)。

不要一次加载整个数据集,以免RAM耗尽。这是无法避免的,即使是在线工具,如Google Colab和将数据集划分为多个段。

处理大型数据集的方法是通过批量训练(即通过一次加载一批数据集来训练模型)。

但我确信人们处理大型数据集?那么我如何在Python上加载它呢?但我相信人们会处理更大的数据集?那么我如何将其加载到Python上呢?