深度神经网络内存不足

2024-06-16 09:51:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Tensorflow编写了一个模型,我的电脑内存用完了,然后我在Google Colab上尝试了同样的方法,得到了同样的结果

我的数据集形状最初是这样的:

(541909, 8)

问题是我的数据集有一行名为'Description',看起来是这样的:

0     WHITE HANGING HEART T-LIGHT HOLDER
1                    WHITE METAL LANTERN
2         CREAM CUPID HEARTS COAT HANGER
3    KNITTED UNION FLAG HOT WATER BOTTLE
4         RED WOOLLY HOTTIE WHITE HEART
...

我的数据集有超过500000行,'Description'列有超过3500个唯一值,因此,为了训练我的模型,我使用了pandas.get_dummies()函数:

dataset = pd.get_dummies(dataset, columns=["Description"])

使用此选项,数据集形状将更改为:

(541909, 3936)

我确信如此大量的数据是问题的一部分,但我不确定如何避免它,关于如何解决这个问题有什么建议吗


Tags: 数据方法模型gettensorflowgoogledescriptiondataset
1条回答
网友
1楼 · 发布于 2024-06-16 09:51:15

是的,有一个解决办法。您应该加载数据并使用tf.data.DatasetAPI对其进行转换

因为很少有评论说您将不得不缩短Description列,可以说有一个阈值。但是使用Dataset管道,您将确保它不会将完整的数据集加载到内存中,而是一次只加载一个Batch

Tensorflow还建议将此API用于输入管道。使用它而不是pandas将是一个学习曲线。但我会建议您这样做以获得更好的性能。有很多教程。我建议遵循将数据集直接加载到tf.data.Dataset的教程

相关问题 更多 >