Dan*_*ñez 9 python deep-learning jupyter jupyter-notebook jupyter-console
我有一个深度学习类的任务,他们提供了一个Jupyter笔记本作为基本代码,事情是在运行数据导入和重塑后,jupyter笔记本通过"内存错误",经过一些分析后试图编译普通.py文件中的相同代码,一切运行良好.
问题是我需要(最好)使用Jupyter笔记本作为开发的基础,因为这种任务更具交互性.
<ipython-input-2-846f80a40ce2> in <module>()
2 # Load the raw CIFAR-10 data
3 cifar10_dir = 'datasets\\'
----> 4 X, y = load_CIFAR10(cifar10_dir)
C:\path\data_utils.pyc in load_CIFAR10(ROOT)
18 f = os.path.join(ROOT, 'cifar10_train.p')
19 print('Path: ' + f );
---> 20 Xtr, Ytr = load_CIFAR_batch(f)
21 return Xtr, Ytr
22
C:\path\data_utils.pyc in load_CIFAR_batch(filename)
10 X = np.array(datadict['data'])
11 Y = np.array(datadict['labels'])
---> 12 X = X.reshape(-1, 3, 32, 32).transpose(0,2,3,1).astype("float")
13 return X, Y
14
MemoryError:
Run Code Online (Sandbox Code Playgroud)
错误发生在第12行,我知道这是一个消耗内存的分配,但这并不意味着4 GB的RAM不足以满足,并且当代码在Jupyter之外运行时没有出现问题.
我的猜测是它与Jupyter或Chrome的内存限制有关,但我不确定,也不知道如何解决它.
顺便说说:
我对这个问题只晚了一年零两个月。关于原因的技术答案在这里得到了很好的解释:https : //superuser.com/questions/372881/is-there-a-technical-reason-why-32-bit-windows-is-limited-to-4gb-内存
这也暗示了为什么 conda 解决方案有效。
但是对于懒惰的工程师的无更改解决方法,关闭并非绝对必要的 Chrome 选项卡并重新启动内核,使其重新启动。
Kernel > Restart (& Run All)
Run Code Online (Sandbox Code Playgroud)
显然,当 python 安装不是最好的时候就会发生这种情况。
事实上,在解决问题之前,我已经在 Windows 上手动安装了 python 2.7 和我需要的软件包,在搞乱了近两天试图找出问题所在之后,我用 Conda 重新安装了所有内容,问题就解决了。
我猜 Conda 正在安装更好的内存管理包,这是主要原因。
归档时间: |
|
查看次数: |
31401 次 |
最近记录: |