加载MNIST.pkl.gz时出现python内存错误
我是Python新手,已经下载了代码DBN.py,但是有一个问题:当我试图加载数据集MNIST.pkl.gz时,总是出现一个meomory错误。。 我的代码非常简单:加载MNIST.pkl.gz时出现python内存错误,python,python-2.7,out-of-memory,mnist,Python,Python 2.7,Out Of Memory,Mnist,我是Python新手,已经下载了代码DBN.py,但是有一个问题:当我试图加载数据集MNIST.pkl.gz时,总是出现一个meomory错误。。 我的代码非常简单: 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() 误差
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
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
runfile('C:/Users/MAC/Documents/Python Scripts/untitled0.py',wdir='C:/Users/MAC/Documents/Python Scripts')
文件“C:\Users\MAC\Anaconda\lib\site packages\spyderlib\widgets\externalshell\sitecustomize.py”,第699行,在runfile中
execfile(文件名、命名空间)
文件“C:\Users\MAC\Anaconda\lib\site packages\spyderlib\widgets\externalshell\sitecustomize.py”,第74行,在execfile中
exec(编译(脚本文本,文件名,'exec'),glob,loc)
文件“C:/Users/MAC/Documents/Python Scripts/untitled0.py”,第19行,在
列车组、有效列车组、测试列车组=cPickle.load(f)
文件“C:\Users\MAC\Anaconda\lib\gzip.py”,第268行,已读
自读(readsize)
文件“C:\Users\MAC\Anaconda\lib\gzip.py”,第320行,已读
自我添加读取数据(解压缩)
文件“C:\Users\MAC\Anaconda\lib\gzip.py”,第338行,在添加读取数据中
self.extrabuf=self.extrabuf[offset:]+数据
记忆者
我真的不知道,是因为我的电脑内存太小吗?它在windows 7.32位上我怀疑在这种情况下问题出在Spyder上。
至于原因,我不知道,要么进程不允许在自己的脚本之外分配足够的内存,要么它只是陷入了一个循环中 例如,通过将代码粘贴到
myscript.py
中,尝试在不使用Spyder的情况下运行代码,然后打开终端
,导航到保存脚本的文件夹,然后运行python myscript.py
,查看这是否有效或是否提供相同的输出
这是基于上面评论中的一段对话。我怀疑问题出在斯派德身上。
至于原因,我不知道,要么进程不允许在自己的脚本之外分配足够的内存,要么它只是陷入了一个循环中 例如,通过将代码粘贴到
myscript.py
中,尝试在不使用Spyder的情况下运行代码,然后打开终端
,导航到保存脚本的文件夹,然后运行python myscript.py
,查看这是否有效或是否提供相同的输出
这是基于上面评论中的对话。mnist.pkl.gz有多大?在*MB*即.eww…中,我刚刚检查过。它是15.4mbt。问题很可能不是在pickle状态,而是在用于运行其他脚本的脚本中。你有一个循环可以遍历很多文件吗?我刚刚发现如果我删除了代码的第三行:“train\u set,valid\u set,test\u set=cPickle.load(f)”,错误将不再存在。是因为这一行涉及一些复杂的内容吗…对不起,我对这一行很陌生…对不起,我不认为我有这种循环…我只写了四行代码…mnist.pkl.gz有多大?在*MB*即.eww…中,我刚刚检查过。它是15.4mbt。问题很可能不是在pickle状态,而是在用于运行其他脚本的脚本中。你有一个循环可以遍历很多文件吗?我刚刚发现如果我删除了代码的第三行:“train\u set,valid\u set,test\u set=cPickle.load(f)”,错误将不再存在。是因为这一行涉及到一些复杂的东西吗…对不起,我对这一行很陌生…对不起,我不认为我有这种循环…四行代码是我写的全部。。。