跳转到主要内容

优化基准测试工具包

项目描述

https://raw.githubusercontent.com/benchopt/communication_materials/main/posters/images/logo_benchopt.png

——让您的ML和优化基准测试变得简单和开放——


Test Status codecov Documentation Python 3.6+ install-per-months discord SWH

Benchopt 是专为机器学习工作流程量身定制的基准测试套件。它注重简洁、透明性和可重复性。它用Python实现,但可以运行用 许多编程语言 编写的算法。

到目前为止,benchopt 已与 PythonRJuliaC/C++(带有命令行界面的编译二进制文件)进行了测试。通过 conda 可用的程序也应兼容。例如,查看 使用R的用法示例

安装

建议在 conda 环境中使用 benchopt 以充分利用 benchopt 命令行界面 (CLI)。

要安装 benchopt,首先创建一个新的 conda 环境,然后激活它

conda create -n benchopt python
conda activate benchopt

然后运行以下命令安装 benchopt最新版本

pip install -U benchopt

还可以使用最新的开发版本。这样做的话,请运行以下命令

pip install git+https://github.com/benchopt/benchopt.git

入门指南

安装 benchopt 后,您可以

  • 复制/修改现有基准

  • 创建您自己的基准

使用现有基准

复制现有基准很简单。以下是如何复制 L2-逻辑回归基准 的方法。

  1. 克隆基准仓库并 cd 到它

git clone https://github.com/benchopt/benchmark_logreg_l2
cd benchmark_logreg_l2
  1. 使用 benchopt 自动安装所需的求解器

benchopt install . -s lightning -s sklearn
  1. 运行基准以获取下面的图表

benchopt run . --config ./example_config.yml
https://benchopt.github.io/_images/sphx_glr_plot_run_benchmark_001.png

这些步骤说明了如何复制 L2-逻辑回归基准。查看 可用基准 的完整列表。还可以参考 文档 了解更多关于 benchopt CLI 及其功能的信息。您还可以通过添加数据集、求解器或指标轻松扩展此基准。在 基准工作流程 中了解这些以及更多内容。

创建基准

文档中的 编写基准 部分提供了一个创建基准的教程。《span class="docutils literal">benchopt》社区还维护了一个 模板基准,以便快速轻松地开始新的基准。

寻求帮助

加入 benchopt Discord 服务器 并与社区取得联系!请随时给我们留言,以获得有关运行/构建基准的帮助,或者(为什么不呢)讨论要添加的新功能和 benchopt 应该采取的未来发展方向。

引用 Benchopt

Benchopt 是一个持续努力,旨在创建可重复和透明的机器学习和优化基准。加入我们吧!如果您在科学出版物中使用 benchopt,请引用

@inproceedings{benchopt,
   author    = {Moreau, Thomas and Massias, Mathurin and Gramfort, Alexandre
                and Ablin, Pierre and Bannier, Pierre-Antoine
                and Charlier, Benjamin and Dagréou, Mathieu and Dupré la Tour, Tom
                and Durif, Ghislain and F. Dantas, Cassio and Klopfenstein, Quentin
                and Larsson, Johan and Lai, En and Lefort, Tanguy
                and Malézieux, Benoit and Moufad, Badr and T. Nguyen, Binh and Rakotomamonjy,
                Alain and Ramzi, Zaccharie and Salmon, Joseph and Vaiter, Samuel},
   title     = {Benchopt: Reproducible, efficient and collaborative optimization benchmarks},
   year      = {2022},
   booktitle = {NeurIPS},
   url       = {https://arxiv.org/abs/2206.13424}
}

可用基准

问题

结果

构建状态

普通最小二乘法 (OLS)

结果

Build Status OLS

非负最小二乘法 (NNLS)

结果

Build Status NNLS

LASSO:L1 正则化最小二乘法

结果

Build Status Lasso

LASSO 路径

结果

Build Status Lasso Path

Elastic Net

Build Status ElasticNet

MCP

结果

Build Status MCP

L2 正则化逻辑回归

结果

Build Status LogRegL2

L1 正则化逻辑回归

结果

Build Status LogRegL1

L2 正则化 Huber 回归

Build Status HuberL2

L1 正则化分位数回归

结果

Build Status QuantileRegL1

线性 SVM 用于二元分类

Build Status LinearSVM

线性 ICA

Build Status LinearICA

近似联合对角化 (AJD)

Build Status JointDiag

一维总变分去噪

Build Status TV1D

二维总变分去噪

Build Status TV2D

ResNet 分类

结果

Build Status ResNetClassif

双层优化

结果

Build Status Bilevel

BSD 3-Clause 许可协议

版权所有 (c) 2019–2022 Benchopt 开发者。保留所有权利。

以下条件满足时,允许重新分发和使用源代码和二进制代码,可以进行修改或不可修改:

  1. 源代码重新分发必须保留上述版权声明、本条件列表和以下免责声明。

  2. 二进制形式的重新分发必须在文档和/或随重新分发提供的其他材料中复制上述版权声明、本条件列表和以下免责声明。

  3. 未经事先书面许可,不得使用 Benchopt 开发者名称或其贡献者的名称来认可或推广由此软件派生的产品。

本软件由版权所有者和贡献者提供,"按原样"提供,并且不提供任何明示或暗示的保证,包括但不限于适销性和适用于特定目的的暗示性保证。在任何情况下,监管机构或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是由何种原因引起的,以及基于何种责任理论,包括合同、严格责任或侵权(包括疏忽或其他),即使已告知此类损害的可能性。

项目详情


下载文件

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

源分布

benchopt-1.6.0.tar.gz (1.1 MB 查看哈希值)

上传时间

构建分布

benchopt-1.6.0-py3-none-any.whl (180.1 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

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