Python:MemoryError

时间:2016-12-07 12:55:25

标签: python-3.x

我在Python 3.5中运行代码时遇到错误:MemoryError

unq, unq_idx = np.unique(targets, return_inverse=True)
unq_cnt = np.bincount(unq_idx)
cnt = np.max(unq_cnt)
n_targets = np.empty((cnt*len(unq),) + targets.shape[1:], targets.dtype)
n_input_patches = np.empty((cnt*len(unq),) + input_patches.shape[1:], input_patches.dtype)
for j in range(len(unq)):
    indices = np.random.choice(np.where(unq_idx==j)[0], cnt)
    n_targets[j*cnt:(j+1)*cnt] = targets[indices]
    n_input_patches[j*cnt:(j+1)*cnt] = input_patches[indices]

错误:

 n_input_patches = np.empty((cnt*len(unq),) + input_patches.shape[1:], input_patches.dtype)
MemoryError

我不知道代码会发生什么。请帮我。非常感谢你。

1 个答案:

答案 0 :(得分:0)

基本上,当你内存不足时会抛出这个异常:

https://docs.python.org/3/library/exceptions.html

基本上你的代码是为许多对象创建的,所以我会检查你的循环等或发布实际输入以便更清晰。