Tensorflow 具体来说,当神经网络大于ram时,如何训练神经网络?
我有一些关于如何训练一个比ram更大的神经网络的具体问题。我想使用事实上的标准,它似乎是Keras和tensorflowTensorflow 具体来说,当神经网络大于ram时,如何训练神经网络?,tensorflow,keras,hdf5,Tensorflow,Keras,Hdf5,我有一些关于如何训练一个比ram更大的神经网络的具体问题。我想使用事实上的标准,它似乎是Keras和tensorflow 我需要使用哪些关键类和方法 从Numpy,到scipy,到pandas,h5py,再到keras,为了不超过我可怜的8GB内存?我有时间训练模型;我没有现金。我的数据集需要200 GB的ram 在keras中有一个model_fit()方法。它需要X和Y numpy阵列。如何让它接受磁盘上的hdf5 numpy阵列?当指定模型体系结构本身时,我如何保存ram,因为工作内存有时
本质上,我是在这样一种假设下的:无论是从一次热编码到加载模型,还是在一小批样本上进行训练,我的内存都不能超过8GB。我只是不知道如何具体做到这一点 我不能回答所有问题,我对这些答案也很感兴趣,因为我也面临着8GB的问题 我只能建议如何一次通过一小批 问题2: 我不认为Keras会支持传递h5py文件(但我真的不知道),但是您可以创建一个循环(如果文件为此正确保存的话) 您可以创建外部循环以:
- 创建一个小数组,其中只包含文件中的一个或两个样本
- 使用方法
只传递那个小数组李>train\u on\u batch
- 释放内存以释放阵列或用下一个样本填充同一阵列李>
其思想是使生成器只加载文件的一部分,并生成带有一个或两个数据样本的小批量数组。(与问题2中所做的几乎相同,但循环进入发生器内部。通常对于非常大的样本集,“在线”使用了训练方法。这意味着不需要一次大批量地训练神经网络,而是允许神经网络在获得更多样本时进行增量更新。请参阅:随机梯度下降因此,您的神经网络比RAM大,并且您的训练数据比RAM大?我可以问一下您的建议吗数据?我后来开始使用pyspark。没有所有的神经网络选项,算法更基本,但我仍然处于算法不重要、数据更有用的阶段。我个人还没有看到算法最重要的情况。