134 个版本

0.21.6 2024 年 7 月 24 日
0.21.4 2024 年 4 月 23 日
0.21.2 2024 年 3 月 29 日
0.20.22 2023 年 11 月 28 日
0.2.9 2019 年 3 月 28 日

#367机器学习

Download history 7778/week @ 2024-04-16 9430/week @ 2024-04-23 6860/week @ 2024-04-30 2268/week @ 2024-05-07 7080/week @ 2024-05-14 5416/week @ 2024-05-21 5724/week @ 2024-05-28 7207/week @ 2024-06-04 8479/week @ 2024-06-11 7537/week @ 2024-06-18 7242/week @ 2024-06-25 6113/week @ 2024-07-02 8165/week @ 2024-07-09 6809/week @ 2024-07-16 11102/week @ 2024-07-23 4753/week @ 2024-07-30

33,909 每月下载次数
39 软件包中使用(直接使用 2 个)

MIT/Apache

615KB
14K SLoC

tract-linalg

linalg 代表 "线性代数"。这是一个误称。这个软件包包含 tract-core 使用的低级、架构相关的优化。

函数

  • MatMatMul:扩展矩阵乘法
    • 受 Gotoblass 和 BLIS 微内核方法启发
    • 扩展用于卷积友好的寻址(融合 img2col)
    • 融合输出管道(min、max 和一些其他简单、快速的运算)
    • f32*f32 -> f32 (类似于 sgemm)
    • i8*i8 -> i32 累加器 -> i32 存储
    • i8*i8 -> i32 累加器 -> i8(带有通道零点、缩放和重新量化管道)
  • f32 sigmoid 和 f32 tanh:在 f32 精度下,通过一个合理的函数(无指数运算)
  • 字节数据查找表

实现

通用回退 armv6, vfp armv7 neon armv8 simd x64 FMA
MatMatMul f32 4x4 8x4 8x8 16x6
MatMatMul i8->i8 8x4 8x8
MatMatMul i8->i32 8x8
sigmoid f32 4n 4n
tanh f32 4n 4n
字查找

依赖项

~9–13MB
~230K SLoC