Machine learning 机器学习熊猫

Machine learning 机器学习熊猫,machine-learning,nlp,Machine Learning,Nlp,我实际上在尝试使用TensorFlow和LSTM。 为此,我在文本文件(10MB)中有数据 当我尝试在numpy中复制数据时,我得到内存已满错误 如何准备好数据以便在LSTM中使用,有什么建议吗 使用此函数处理张量流之前,从文件中读取数据: def读取数据(fname): 将open(fname,encoding=“utf8”)作为f: content=f.readlines() content=[x.strip()表示内容中的x] content=[word for i in range(le

我实际上在尝试使用TensorFlow和LSTM。 为此,我在文本文件(10MB)中有数据

当我尝试在numpy中复制数据时,我得到内存已满错误

如何准备好数据以便在LSTM中使用,有什么建议吗

使用此函数处理张量流之前,从文件中读取数据:

def读取数据(fname):
将open(fname,encoding=“utf8”)作为f:
content=f.readlines()
content=[x.strip()表示内容中的x]
content=[word for i in range(len(content))for word in content[i].split()]
content=np.array(content)
返回内容
np.array(content)
中,它给出了内存已满错误。我怎样才能绕过这个问题,以便在TensorFlow的LSTM中使用这些数据


还请建议是否有任何LSTM可以读取大量数据

内存错误确实意味着您无法将numpy数组放入内存,因为在numpy中索引字符串列表的开销很大。问题是你没有创建一个单词矩阵。
content
的每个单词列表都有不同的长度,因此调用
np.array
将为每行创建一个数组,然后将它们添加到一个大的numpy数组中。这就是numpy的目的。Numpy处理数字张量而不是字符串列表的效率很高

这是一本书

如果您计划使用TensforFlow,您可以使用。它可以逐行加载文件,然后您可以在TensorFlow中应用您需要的所有内容,例如,应用(调用方法)和数据

你会得到这样的结果:

tf.TextLineDataset(fname).map(lambda s:tf.strings.split([s])[0])

请注意,在批处理并将其传递到LSTM之前,您需要将字符串转换为词汇索引,并调用索引上的嵌入查找。

请至少显示文件的几行。您应该重新表述您的问题。这与LSTM或TensorFlow无关。感谢您的回复。你能帮我举一个例子,我们如何使用DatasetAPI阅读…我不知道如何使用它,请