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 296/week @ 2024-03-14 412/week @ 2024-03-21 274/week @ 2024-03-28 275/week @ 2024-04-04 214/week @ 2024-04-11 254/week @ 2024-04-18 279/week @ 2024-04-25 209/week @ 2024-05-02 123/week @ 2024-05-09 124/week @ 2024-05-16 115/week @ 2024-05-23 182/week @ 2024-05-30 271/week @ 2024-06-06 258/week @ 2024-06-13 281/week @ 2024-06-20 249/week @ 2024-06-27

每月 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