gpt4 book ai didi

python - 如何统计一个函数被调用的次数?

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:59 27 4
gpt4 key购买 nike

这是我的代码,我想做的是将我编写的函数按列明智地应用于 numpy 数组。要了解程序的进度,我想做类似的事情,因为我可以在 for 循环中使用 if i % 100 == 0: print i

from sklearn.mixture import GMM

gmm = GMM(n_components=2)

def getFunc(x):
print 1
return gmm.fit_predict(np.expand_dims(x,axis=1))

newX = np.apply_along_axis(getFunc, 0, inputX)

最佳答案

您可以尝试为您的函数编写装饰器。

from functools import wraps
from sklearn.mixture import GMM

gmm = GMM(n_components=2)

def log_every(n):
def decorator(fn)
counter = 0
@wraps(fn)
def wrapper(*args, **kwargs):
counter += 1
if counter % n == 0:
print(n)
return fn(*args, **kwargs)
return wrapper
return decorator

@log_every(100)
def getFunc(x):
return gmm.fit_predict(np.expand_dims(x,axis=1))

newX = np.apply_along_axis(getFunc, 0, inputX)

但是,正如@MarcusMüller 指出的那样,性能可能会受到影响。

关于python - 如何统计一个函数被调用的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38933393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com