Arraymancer

一個快速、符合人體工學且可移植的 Nim 張量庫,專注於深度學習,支援 CPU、GPU 及嵌入式裝置,後端採用 OpenMP、Cuda 和 OpenCL

Arraymancer 是什麼?

一個快速、符合人體工學且可移植的 Nim 張量庫,專注於深度學習,支援 CPU、GPU 及嵌入式裝置,後端採用 OpenMP、Cuda 和 OpenCL

Arraymancer 概覽

這是什麼

Arraymancer 是一個以 Nim 語言撰寫的張量(N 維陣列)函式庫。它專注於提供一個快速且符合人體工學的 ndarray 函式庫,支援 CPU、Cuda 與 OpenCL 後端,旨在支援科學計算生態系。此專案受 Numpy 與 PyTorch 啟發。

主要功能

  • 支援張量建立、切片、重塑、串接與廣播運算。
  • 包含機器學習演算法,如最小平方法求解器、主成分分析、分類器、回歸器、聚類與交叉驗證。
  • 提供深度學習能力,包含自動微分、層(Linear、ReLU 等)與最佳化器(SGD)。
  • 後端:CPU(搭配 OpenMP)、Cuda 與 OpenCL。
  • 整合 BLAS 與 LAPACK 函式庫;可透過編譯旗標自訂 BLAS 選擇。
  • 編譯旗標包含 release 模式、danger 模式、AVX512、Cuda 與 CuDNN。
  • 在雙核心 MacBook 上約 5 秒編譯完成。

使用情境

  • 使用 N 維陣列進行數值計算。
  • 機器學習任務(分類、回歸、聚類、降維)。
  • 深度學習模型訓練與推論(例如全連接網路、卷積網路、遞迴神經網路)。

快速開始

請參閱儲存庫的 README 以取得安裝說明與編譯旗標。

授權與價格

採用 Apache-2.0 授權。開放原始碼。

內容整理自該專案公開的 README 與儲存庫資訊。

將此徽章加入你的 README

Featured on YunoDB 徽章樣式與說明

你是這個專案的維護者嗎?展示它已收錄於 YunoDB。

Markdown[![Featured on YunoDB](https://yunodb.com/badge/mratsimarraymancer.svg)](https://yunodb.com/tools/mratsimarraymancer?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/mratsimarraymancer?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/mratsimarraymancer.svg" alt="Featured on YunoDB" height="20"></a>