如何查看您分配了多少numpy数组



我有一些复杂的模拟代码,在不同的地方和某些条件下防御性地复制数组,以确保我不会意外修改其他东西正在使用的数据。然而,我想确保我没有过于防御和复制不必要的东西。我想看看在模拟过程中分配了多少数组,看看这是否符合我的期望。numpy提供这个功能吗?

import numpy as np
from collections.abc import Container
def print_count(variables):
counter = 0
for variable in variables:
if isinstance(variable, np.ndarray):
counter += 1

elif isinstance(variable, Container):
for e in variable:
if isinstance(e, np.ndarray):
counter += 1
print(counter)
print_count(list(locals().values()))

最新更新