跳转到主要内容

机器学习性能测试框架

项目描述

Build Status MIT license pypi badge

tempeh

tempeh是一个框架,用于

TEst

Machine learning

PErformance

exHaustively

包括跟踪内存使用和运行时间。这对于作为您存储库性能测试的可插入工具特别有用。通常,人们希望定期在不同的数据集和/或使用多个模型上运行它们,以捕获与运行时间或内存消耗相关的回归。这应该像

import pytest
from time import time
from tempeh.configurations import datasets, models

@pytest.mark.parametrize('Dataset', datasets.values())
@pytest.mark.parametrize('Model', models.values())
def test_fit_predict_regression(Dataset, Model):
    dataset = Dataset()
    X_train, X_test = dataset.get_X()
    y_train, y_test = dataset.get_y()
    model = Model()
    max_execution_time = get_max_execution_time(dataset, model)
    if model.compatible_with_dataset(dataset):
        start_time = time()
        model.fit(X_train, y_train)
        model.predict(X_test)
        duration = time() - start_time

        assert duration < max_execution_time

安装

tempeh依赖于各种包来提供模型,包括tensorflowtorchxgboostlightgbm。要安装tempeh的发行版,只需运行

pip install tempeh
常见问题
  • 如果您正在使用32位Python版本,您可能需要首先切换到64位Python版本,才能成功安装tensorflow。
  • 如果torch的安装失败,请尝试使用pytorch网站上的建议,为您的操作系统上的Python版本使用不带CUDA的稳定版本。
  • 如果lightgbmxgboost的安装失败,请尝试使用小于20.0的pip版本,直到其错误被解决。

结构

数据集

数据集(位于datasets/目录中)封装了用于测试的不同数据集。

要添加新的数据集

  • datasets/目录中创建一个名为[name]_datasets.py的Python文件
  • 继承BasePerformanceDatasetWrapper。命名约定是[dataset_name]PerformanceDatasetWrapper
  • __init__中加载数据集并调用super().__init__(data, targets, size)
  • 将类添加到 __init__.py
  • 确保类包含类变量 taskdata_typesize
  • configurations.py 中向 datasets 字典添加条目。

模型

模型(models/ 目录)封装不同的机器学习模型。

要添加新的数据集

  • models/ 目录中创建一个名为 [name]_model.py 的 Python 文件
  • BaseModelWrapper 子类化,并将类命名为 [name]ModelWrapper
  • __init__ 中训练模型;我们期望格式为 __init__(self, ...)
  • 模型必须包含 tasksalgorithm
  • configurations.py 中向 models 字典添加条目。

维护者

按字母顺序

贡献

要贡献,请查看我们的贡献指南

问题

常规(非安全)问题

请通过Github issues提交报告。维护者将在合理的时间内响应并处理问题,如下所示

  • 错误:将错误分类为 bug 并根据严重性提供估计时间表
  • 功能请求:将功能请求分类为 feature request 并提供估计时间表
  • 问题或讨论:将问题分类为 question 并响应或通知/识别合适的专家进行响应

维护者应尽可能链接重复的问题。

报告安全问题

请参阅我们关于报告安全问题的指南。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

tempeh-0.1.12.tar.gz (22.9 kB 查看哈希)

上传时间

构建分布

tempeh-0.1.12-py3-none-any.whl (39.4 kB 查看哈希)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面