joaopauloschuler/neural-api
CAI NEURAL API - Pascal based deep learning neural network API optimized for AVX, AVX2 and AVX512 instruction sets plus OpenCL capable devices including AMD, Intel and NVIDIA.
是什么
CAI Neural API 是一个用 Free Pascal / Lazarus 编写的深度学习库。它实现了广泛的神经网络层(如 Transformer、Mixture‑of‑Experts、RWKV、xLSTM、脉冲神经元、归一化流、CNN 等),可在 支持 AVX/AVX2/AVX‑512 的 CPU 或 AMD、Intel、NVIDIA 的 OpenCL 加速 GPU 上运行。整个框架编译为单个原生可执行文件——无需 Python 解释器、无需 CUDA 运行时、无需庞大的依赖链。
你可以用它做什么
| 功能 | 工作方式(如 README 所述) |
|---|---|
| 运行大型语言模型 | 加载 HuggingFace 的 instruct 检查点(例如 Qwen 2.5、Qwen 3、Llama、Mistral、Phi‑3、OLMoE),通过 ChatTerminal CLI 交互,或使用 ChatServer 暴露一个 OpenAI 兼容的 HTTP 服务器。 |
| 文本转音乐 | MusicGenText 使用 T5 编码器 + MusicGen 解码器,将“低保真嘻哈,带有柔和钢琴”的提示转换为音频文件。 |
| 音频处理 | MusicSourceSeparation 将歌曲分离为音轨;Qwen2AudioChat 允许你与一个具备音频感知能力的模型对话。 |
| 图像超分辨率 | SuperResolution 使用随仓库提供的预训练网络对图像进行放大。 |
| 标准视觉演示 | CIFAR‑10/‑100、MNIST、Fashion‑MNIST 分类,ResNet‑20、DenseNet、MobileNet 风格的可分离卷积,自编码器,GAN 艺术,梯度上升可视化等。 |
| 训练工具 | TNNetFit 风格的类(如 TNeuralImageFit)提供简单 API,用于拟合网络、学习率控制、惯性以及模型检查点保存。 |
| 数据处理 | TNNetVolume 是一种灵活的 1D/2D/3D 数组类型,支持 SIMD 操作,并可与 OpenCL 缓冲区之间传输。 |
谁会用它
- 希望在原生 Pascal 应用中集成深度学习,但不想引入 Python、PyTorch 或 CUDA 的 系统程序员。
- 偏好单个二进制文件的 嵌入式或低依赖部署(例如边缘设备、无 Python 运行时的 Windows/Linux 服务器)。
- 寻找可与现有代码库无缝集成的即用型神经网络栈的 Pascal 爱好者 / Lazarus 开发者。
- 希望在可编译为高度优化机器码的语言中,实验较少见架构(如 RWKV、脉冲神经元、Mixture‑of‑Experts)的 研究人员。
如何开始
- 安装 Lazarus(IDE),如果需要 GPU 加速,请安装相应的 OpenCL 驱动程序。
- 克隆仓库,并将
neural/文件夹添加到 Lazarus 的单元搜索路径中。 - 构建一个示例程序(例如
examples/ChatTerminal/ChatTerminal.lpr)。 - 指定一个 HuggingFace 检查点(README 列出了支持的模型),然后运行。
限制 / 注意事项
- 该库是 纯 Pascal 的;在
master分支上不支持 Delphi(Delphi 支持仅限于旧版 v2.0.0 发布版)。 - GPU 支持依赖于 OpenCL,而非 CUDA,因此 NVIDIA GPU 需要 OpenCL 驱动层。
- 性能关键代码已针对 AVX/AVX2/AVX‑512 手动优化;旧 CPU 可能运行较慢。
- 项目提供了许多教育性示例和预训练模型,但生产级模型库集成由用户自行完成。
- 上述所有信息均直接取自仓库的 README;未推断任何额外功能。*
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目