1

我是 Python 新手,我已经下载了代码 DBN.py,但有一个问题:当我尝试加载数据集 MNIST.pkl.gz 时,总是出现内存错误。我的代码非常简单:

import cPickle, gzip, numpy
# Load the dataset
f = gzip.open('C:\Users\MAC\Desktop\mnist.pkl.gz', 'rb')
train_set, valid_set, test_set = cPickle.load(f)
f.close()

错误如下:

Traceback (most recent call last):

File "<ipython-input-17-528eea6bbfdd>", line 1, in <module>
runfile('C:/Users/MAC/Documents/Python Scripts/untitled0.py',  wdir='C:/Users/MAC/Documents/Python Scripts')

File "C:\Users\MAC\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile
execfile(filename, namespace)

File "C:\Users\MAC\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)

File "C:/Users/MAC/Documents/Python Scripts/untitled0.py", line 19, in <module>
train_set, valid_set, test_set = cPickle.load(f)

File "C:\Users\MAC\Anaconda\lib\gzip.py", line 268, in read
self._read(readsize)

File "C:\Users\MAC\Anaconda\lib\gzip.py", line 320, in _read
self._add_read_data( uncompress )

File "C:\Users\MAC\Anaconda\lib\gzip.py", line 338, in _add_read_data
self.extrabuf = self.extrabuf[offset:] + data

MemoryError

我真的不知道,是不是因为我的电脑内存太小了?它在 Windows 7,32 位

4

1 回答 1

0

在这种情况下,我怀疑问题出在 Spyder 上。
至于为什么,我不知道,但是要么不允许该进程在它自己的脚本之外分配足够的内存,要么它只是以某种方式卡在一个循环中。

尝试在不使用 Spyder 的情况下运行代码myscript.py,例如将代码粘贴到其中并打开 aterminal并导航到保存脚本并运行的文件夹,python myscript.py然后查看它是否有效或提供相同的输出。

这是基于上面评论中的对话。

于 2016-03-16T18:33:39.810 回答