12 个版本 (破坏性更新)

0.9.0 2021 年 12 月 3 日
0.8.0 2021 年 11 月 30 日
0.7.0 2021 年 7 月 18 日
0.6.0 2021 年 2 月 21 日
0.2.0 2019 年 2 月 18 日

#954算法

Download history • Rust 包仓库 296/week @ 2024-03-14 • Rust 包仓库 412/week @ 2024-03-21 • Rust 包仓库 274/week @ 2024-03-28 • Rust 包仓库 275/week @ 2024-04-04 • Rust 包仓库 214/week @ 2024-04-11 • Rust 包仓库 254/week @ 2024-04-18 • Rust 包仓库 279/week @ 2024-04-25 • Rust 包仓库 209/week @ 2024-05-02 • Rust 包仓库 123/week @ 2024-05-09 • Rust 包仓库 124/week @ 2024-05-16 • Rust 包仓库 115/week @ 2024-05-23 • Rust 包仓库 182/week @ 2024-05-30 • Rust 包仓库 271/week @ 2024-06-06 • Rust 包仓库 258/week @ 2024-06-13 • Rust 包仓库 281/week @ 2024-06-20 • Rust 包仓库 249/week @ 2024-06-27 • Rust 包仓库

每月 1,097 次下载
用于 11 软件包(直接使用 4 个)

Apache-2.0

76KB
1.5K SLoC

Reductive

优化产品量化器的训练

训练优化产品量化器需要 LAPACK 实现。因此,Opq 和 GaussianOpq 量化器的训练是通过 opq-train 功能启用的。如果您想使用 OpqGaussianOpq,则必须启用此功能。

[dependencies]
reductive = { version = "0.7", features = ["opq-train"] }

这还需要添加一个链接 LAPACK 库的软件包作为依赖项,例如 accelerate-srcintel-mkl-srcopenblas-srcnetlib-src

运行测试

Linux

您可以使用 intel-mkl-test 功能在 Linux 上运行所有测试,包括优化产品量化器的测试。

$ cargo test --features intel-mkl-test

macOS

您可以使用 accelerate-test 功能在 macOS 上运行所有测试。

$ cargo test --features accelerate-test

多线程 OpenBLAS

reductive 使用 Rayon 并行化量化器训练。然而,多线程 OpenBLAS 已知与应用程序线程冲突。如果您使用 OpenBLAS,请确保禁用线程,例如通过将线程数设置为 1。

$ export OPENBLAS_NUM_THREADS=1

依赖项

~3–13MB
~204K SLoC