一个极简的深度学习框架,提供类 PyTorch 的 Tensor API、自动求导、编译器,并支持多种加速器后端。
- Star
- 1,415
- Fork
- 102
- 未关闭 Issue
- 166
- 最近提交
- 19天前
这是什么?
Arraymancer 是一个用 Nim 语言编写的 N 维张量(ndarray)库,设计上参考了 NumPy 和 PyTorch。它提供多维数组、切片、广播、变形、拼接以及矩阵乘法、最小二乘、特征分解、PCA、K-means 等线性代数与机器学习基础运算。
在数组之上,它还包含基于自动求导的神经网络 DSL,可用于定义、训练和运行模型,内置 Linear、Conv2D、MaxPool2D、GRU 等层。张量可运行在 CPU(通过 OpenMP 并行,底层依赖 BLAS/LAPACK),也可运行在 CUDA(可选 cuDNN)和 OpenCL 设备上,但 GPU 张量支持的操作少于 CPU 张量。
该库编译速度快,生成的可执行文件主要只依赖 BLAS 库,适合资源受限的设备。项目目前标注为实验性质,深度学习接口仍在完善中。
核心功能
- 01支持最多 6 维的张量,提供类 NumPy 的切片语法和显式广播运算符 +.。
- 02提供 concat、reshape、split、permute、transpose 等变形与拼接操作。
- 03可读写 CSV、NumPy(.npy)和 HDF5 文件。
- 04包含最小二乘求解、特征值分解、协方差矩阵等线性代数功能。
- 05基于自动求导的神经网络 DSL,内置 Linear、Conv2D、池化和 GRU 层。
- 06支持 CPU、CUDA 和 OpenCL 后端,但 GPU 后端的功能比 CPU 少。
适用场景
- 需要高性能多维数组的 Nim 数值计算项目。
- 在 Nim 中用自动求导和简洁的模型定义语法快速原型化小型神经网络。
- 在无法部署大型 Python 环境的资源受限设备上运行模型。
- 在 Nim 代码中完成 PCA、K-means、最小二乘拟合等经典机器学习任务。
快速上手
- 1
使用 choosenim 安装 Nim
- 2
使用 nimble 安装 Arraymancer
nimble install arraymancer
使用前须知
- 项目标注为实验性质,其深度学习接口被视为不稳定且仍在变化。
- Arraymancer 需要系统中安装 BLAS 和 LAPACK 库。
- CUDA 和 OpenCL 后端的功能不如 CPU 张量完整。
标签
常见问题
- Arraymancer 是什么?
- 用 Nim 编写的高性能 N 维张量库,支持 CPU、CUDA 和 OpenCL,面向数值计算与深度学习。 Arraymancer 是一个用 Nim 语言编写的 N 维张量(ndarray)库,设计上参考了 NumPy 和 PyTorch。它提供多维数组、切片、广播、变形、拼接以及矩阵乘法、最小二乘、特征分解、PCA、K-means 等线性代数与机器学习基础运算。
- Arraymancer 可以免费使用吗?用的什么许可证?
- Arraymancer 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- Arraymancer 还在维护吗?
- 活跃维护中。Arraymancer 最近一次提交是在 2026年10月6日。
- Arraymancer 适合用来做什么?
- 需要高性能多维数组的 Nim 数值计算项目。 在 Nim 中用自动求导和简洁的模型定义语法快速原型化小型神经网络。 在无法部署大型 Python 环境的资源受限设备上运行模型。 在 Nim 代码中完成 PCA、K-means、最小二乘拟合等经典机器学习任务。
- Arraymancer 怎么安装和运行?
- 使用 choosenim 安装 Nim 使用 nimble 安装 Arraymancer: nimble install arraymancer
- 在哪里获取 Arraymancer?
- 源代码和安装说明在 GitHub 上:https://github.com/mratsim/Arraymancer
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.4万+3 本周4385PythonMIT更新于 9小时前
开源机器学习编译框架,支持用 Python 定制编译流程,并将模型部署到多种硬件平台。
1.4万+4 本周4023PythonApache-2.0更新于 10小时前
基于 Python 的深度学习框架,提供 GPU 加速的张量计算和基于自动求导的动态神经网络。
10.5万+61 本周3.2万PythonOther更新于 5小时前
通过动手实现来学习机器学习:基于 NumPy 从零构建的深度学习框架课程,加上 350 多道可在浏览器中运行并自动评测的编程题。
690+39 本周72PythonOther更新于 9小时前
一个用 Rust 编写的张量库与深度学习框架,支持训练和推理,可运行在多种 GPU 与 CPU 后端上。
1.6万+2 本周1110RustApache-2.0更新于 7小时前
面向 NVIDIA GPU 的 CUDA C++ 模板库与 Python DSL,用于编写高性能矩阵乘法等线性代数内核。
1.1万+8 本周2139C++Other更新于 4天前