我在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
我不知道代码会发生什么。请帮我。非常感谢你。
答案 0 :(得分:0)
基本上,当你内存不足时会抛出这个异常:
https://docs.python.org/3/library/exceptions.html
基本上你的代码是为许多对象创建的,所以我会检查你的循环等或发布实际输入以便更清晰。