开源地址 : https://github.com/MadAlex1997/NuMojo
目的
NuMojo 是 Mojo 中用于数值计算的库,类似于 Python 中的 numpy
NuMojo 扩展了(大部分)标准库数学函数以处理张量输入
NuMojo 旨在捕获 Python 包 numpy、scipy 和 scikit 中存在的广泛数值功能,例如
- 线性/张量代数
- 一体化
- 衍生品
- 优化器
- 函数逼近器
NuMojo 打算尝试充分利用 Mojo 的功能,包括矢量化、并行化和 GPU 加速(一旦可用)。
NuMojo 旨在成为其他 Mojo 包的构建块,这些包需要在底层进行快速数学计算,而无需增加 ML 反向和前向传播系统的重量
NuMojo 不是什么
NuMojo 不是一个机器学习库,它永远不会在基础库中包含反向传播。
如何安装
克隆存储库并构建
用法
目前
import numojo
from Tensor import Tensor
def main():
var tens = Tensor[DType.float32](10,10)
tens=tens+numojo.pi/2
print(numojo.sin[DType.float32](tens))
可用功能包括:
abs、floor、ceil、trunc、round、roundeven、round_half_down、round_half_up、rsqrt、exp2、exp、log、log2、tanh、倒数、acos、asin、atan、cos、sin、tan、acosh、asinh、atanh、cosh、 sinh、expm1、log10、log1p、cbrt、pow、mod、mul、sub、add、div、copysign、atan2、hypot、nextafter、scalb、余数
警告
这个库仍然是一个正在进行的工作,可能随时发生变化。此外,标准张量有许多粗糙的边缘。