【发布时间】:2019-12-11 18:00:47
【问题描述】:
为什么img_list 比compressed 小,即使更小?
输入
print(sys.getsizeof(img_list[0:1]))
print(img_list[0:1])
print(sys.getsizeof(compressed[0:2]))
print(compressed[0:2])
print(sys.getsizeof(img_list))
print(sys.getsizeof(compressed))
img_arr = np.asanyarray(img)
print(img_arr.shape)
comp_arr = np.asarray(compressed)
print(comp_arr.shape)
输出
72
[[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [19, 19, 19], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]
80
[[12, [0, 0, 0]], [1, [19, 19, 19]]]
256
2536
(24, 24, 3)
(306, 2)
【问题讨论】:
-
您还没有在此处显示您的列表长度。你能提供一个minimal reproducible example吗?
-
@Error-SyntacticalRemorse 我不认为这就是这里发生的事情。同样,OP 实际上并没有提供任一列表的
len。我怀疑img_list实际上大约是compressed长度的1/10。 -
@Error-SyntacticalRemorse 但带有 slices 的示例是一致的,越小的内存占用越小。切片的长度分别为 1 和 2...
-
我将提供完整列表
-
我将它们转换为 numpy 数组并打印了它们的形状以进行说明
标签: python list memory jupyter-notebook sys