[英]How do I test for speed with PyTest / tox?
對於測試機器學習算法/存儲庫,我認為很重要的三件事:
雖然(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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.