Python 带有tensorflow后端的Keras——MemoryError

Python 带有tensorflow后端的Keras——MemoryError,python,numpy,keras,imdb,Python,Numpy,Keras,Imdb,我正试着按照教程学习一些关于keras的深度学习,但我一直在记忆错误。你能指出是什么引起的以及如何处理它吗 代码如下: import numpy as np from keras import models, regularizers, layers from keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) def

我正试着按照教程学习一些关于keras的深度学习,但我一直在记忆错误。你能指出是什么引起的以及如何处理它吗

代码如下:

import numpy as np
from keras import models, regularizers, layers
from keras.datasets import imdb

(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)

def vectorize_sequences(sequences, dimension=10000):
    results = np.zeros((len(sequences), dimension))
    for i, sequence in enumerate(sequences):
        results[i, sequence] = 1.
    return results


x_train = vectorize_sequences(train_data)
这是回溯(行号与上述代码中的行号不匹配)

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/uttam/pycharm-2018.2.4/helpers/pydev/_-pydev_bundle/pydev_umd.py”,第197行,在runfile中
pydev_imports.execfile(文件名、全局变量、本地变量)#执行脚本
文件“/home/uttam/pycharm-2018.2.4/helpers/pydev/_-pydev_-imps/_-pydev_-execfile.py”,execfile中第18行
exec(编译(内容+“\n”,文件,'exec'),全局,loc)
文件“/home/uttam/PycharmProjects/IMDB/IMDB.py”,第33行,在
x_序列=矢量化序列(序列数据)
文件“/home/uttam/PycharmProjects/IMDB/IMDB.py”,第27行,矢量化顺序
结果=np.零((len(序列),维数))
记忆者

是的,你是对的。问题确实是由
矢量化_序列
引起的

您应该分批执行该逻辑(使用切片数据,如
partial\u x\u train
)或使用生成器(这是一个很好的解释和示例)


我希望这有帮助:)

“可能”?请包括完整的错误跟踪-如果你是正确的,可以说你的代码中最大的部分与问题无关,应该删除。我已经编辑了问题以添加错误跟踪,下面的所有代码
x\u train=vectorize\u sequences(train\u data)
与问题无关(它从未执行)-我正在删除它,为了将来,请记住…你怎么知道问题是在矢量化_序列中,没有OP的完整回溯?我已经看到了那个教程,它并没有真正回答我的问题,你可以说它最有可能是这一部分,但是,如果没有额外的信息而100%确信它,可能会产生误导。@Novak,那么我只是通过用收益率代替收益率,使它成为一个生成函数,而不是一个普通函数?它告诉我TypeError:“generator”对象不可下标,对于x_val=x_train[:10000]行是。生成器是惰性计算的,您不能对其进行切片。他们需要多少数据就取多少。
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/uttam/pycharm-2018.2.4/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/home/uttam/pycharm-2018.2.4/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/uttam/PycharmProjects/IMDB/imdb.py", line 33, in <module>
    x_train = vectorize_sequences(train_data)
  File "/home/uttam/PycharmProjects/IMDB/imdb.py", line 27, in vectorize_sequences
    results = np.zeros((len(sequences), dimension))
MemoryError