相关疑难解决方法(0)

Python没有捕获MemoryError

我已经用try/except块包装了一些内存不足的代码.但是,虽然生成了MemoryError,但它没有被捕获.

我有以下代码:

    while True:
        try:
            self.create_indexed_vocab( vocab )
            self.reset_weights()
            break;
        except MemoryError:
            # Stuff to reduce size of vocabulary
            self.vocab, self.index2word = None, None
            self.syn0, self.syn1 = None, None

            self.min_count += 1
            logger.info( ...format string here... )
Run Code Online (Sandbox Code Playgroud)

我得到以下Traceback:

File "./make_model_tagged_wmt11.py", line 39, in <module>
  model.build_vocab(sentences)
File "/root/CustomCompiledSoftware/gensim/gensim/models/word2vec.py", line 236, in build_vocab
  self.reset_weights()
File "/root/CustomCompiledSoftware/gensim/gensim/models/word2vec.py", line 347, in reset_weights
  self.syn0 += (random.rand(len(self.vocab), self.layer1_size) - 0.5) / self.layer1_size
File "mtrand.pyx", line 1044, in mtrand.RandomState.rand (numpy/random/mtrand/mtrand.c:6523)
File "mtrand.pyx", line 760, in mtrand.RandomState.random_sample (numpy/random/mtrand/mtrand.c:5713) …
Run Code Online (Sandbox Code Playgroud)

python exception-handling out-of-memory

15
推荐指数
1
解决办法
8530
查看次数

标签 统计

exception-handling ×1

out-of-memory ×1

python ×1