gpt4 book ai didi

python - 如何使用 PyTest/tox 测试速度?

转载 作者:行者123 更新时间:2023-11-28 21:22:31 25 4
gpt4 key购买 nike

对于测试机器学习算法/存储库,我认为三件事很重要:

  1. 它会崩溃吗
  2. 是否有最低测试精度
  3. 速度够快吗

虽然 (1) 和 (2) 是标准单元测试,但我不太确定如何处理 (3)。我可以用 pytest/tox 测试这个吗?

我找到了 pytest-benchmark ,但是我将如何做到这一点,例如 lidtk

在伪代码中,我想做以下事情:

def classifier_predict(input_features):
# do something smart, but maybe too time-consuming
return result

def input_generator():
# Generate something random which classifier_predict
# can work on - don't measure this time!
return input_features

class Agents(unittest.TestCase):
def test_classifier_predict():
self.assertMaxTime(classifier_predict,
input_generator,
max_time_in_ms=100)

最佳答案

手工解决方案

这是一个相当手工制作的解决方案的伪代码:

def classifier_predict(input_features):
# do something smart, but maybe too time-consuming
return result

def input_generator():
# Generate something random which classifier_predict
# can work on - don't measure this time!
return input_features

class Agents(unittest.TestCase):
def test_classifier_predict():
nb_tests = 1000
total_time = 0.0
for _ in range(nb_tests):
input_ = input_generator()
t0 = time.time()
classifier_predict(input_)
t1 = time.time()
total_time += t1 - t0
self.assertLessEqual(total_time / nb_tests, 100)

缺点

  • 没有漂亮的图表(像 pytest-benchmark 似乎生成)
  • 一般来说,由于不同的硬件和不同的外部工作负载,硬限制可能很困难

关于python - 如何使用 PyTest/tox 测试速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264284/

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