小众AI

miniMNIST-c
miniMNIST-c - 一个最小的神经网络
在 C 语言中实现了一个最小的神经网络,用于对 MNIST 数据集中的手写数字进行分类。整个实现是 ~200 行代码,并且只使用标准 C 库。
  代码仓

该项目在 C 语言中实现了一个最小的神经网络,用于对 MNIST 数据集中的手写数字进行分类。整个实现是 ~200 行代码,并且只使用标准 C 库。

hminiMNIST

主要功能

  • 两层神经网络(输入 → 隐藏→输出)
  • 隐藏层的 ReLU 激活函数
  • 输出层的 Softmax 激活函数
  • 交叉熵损失函数
  • 随机梯度下降 (SGD) 优化器

性能

Epoch 1, Accuracy: 95.61%, Avg Loss: 0.2717, Time: 2.61 seconds
Epoch 2, Accuracy: 96.80%, Avg Loss: 0.1167, Time: 2.62 seconds
Epoch 3, Accuracy: 97.21%, Avg Loss: 0.0766, Time: 2.66 seconds
Epoch 4, Accuracy: 97.38%, Avg Loss: 0.0550, Time: 2.64 seconds
Epoch 5, Accuracy: 97.49%, Avg Loss: 0.0397, Time: 2.64 seconds
Epoch 6, Accuracy: 97.47%, Avg Loss: 0.0285, Time: 2.65 seconds
Epoch 7, Accuracy: 97.47%, Avg Loss: 0.0205, Time: 2.66 seconds
Epoch 8, Accuracy: 97.72%, Avg Loss: 0.0151, Time: 2.66 seconds
Epoch 9, Accuracy: 97.88%, Avg Loss: 0.0112, Time: 2.67 seconds
Epoch 10, Accuracy: 97.82%, Avg Loss: 0.0084, Time: 2.67 seconds
Epoch 11, Accuracy: 97.88%, Avg Loss: 0.0063, Time: 2.68 seconds
Epoch 12, Accuracy: 97.92%, Avg Loss: 0.0049, Time: 2.68 seconds
Epoch 13, Accuracy: 97.92%, Avg Loss: 0.0039, Time: 2.69 seconds
Epoch 14, Accuracy: 98.02%, Avg Loss: 0.0032, Time: 2.69 seconds
Epoch 15, Accuracy: 98.06%, Avg Loss: 0.0027, Time: 2.70 seconds
Epoch 16, Accuracy: 98.09%, Avg Loss: 0.0024, Time: 2.70 seconds
Epoch 17, Accuracy: 98.11%, Avg Loss: 0.0021, Time: 2.69 seconds
Epoch 18, Accuracy: 98.12%, Avg Loss: 0.0019, Time: 2.70 seconds
Epoch 19, Accuracy: 98.16%, Avg Loss: 0.0017, Time: 2.70 seconds
Epoch 20, Accuracy: 98.17%, Avg Loss: 0.0015, Time: 2.71 seconds

安装和使用

  • GCC 编译器

  • MNIST 数据集文件:

    • train-images.idx3-ubyte
    • train-labels.idx1-ubyte

编译

gcc -O3 -march=native -ffast-math -o nn nn.c -lm

使用

  1. 将 MNIST 数据集文件放在目录中。data/

  2. 编译程序。

  3. 运行可执行文件:

    ./nn
    

该程序将在 MNIST 数据集上训练神经网络,并输出每个 epoch 的准确率和平均损失。

配置

您可以在 中调整以下参数:nn.c

  • HIDDEN_SIZE:隐藏层中的神经元数
  • LEARNING_RATE:SGD 的学习率
  • EPOCHS:训练 epoch 的数量
  • BATCH_SIZE:用于训练的小批量大小
  • TRAIN_SPLIT:用于训练的数据比例(其余用于测试)

更多...


one-api
通过标准的 OpenAI API 格式访问所有的大模型,统一 API 适配,可用于 key 管理与二次分发。
new-api
AI模型接口管理与分发系统,支持将多种大模型转为OpenAI格式调用、支持Midjourney Proxy、Suno、Rerank,兼容易支付协议,可供个人或者企业内部管理与分发渠道使用,本项目基于One API二次开发。
agno
一个高性能、开源的 Python 库,用于构建多模态智能代理。通过统一大语言模型的 API,并赋予它们记忆、知识、工具和推理等强大功能。该项目速度快、内存占用少,支持文本、图像、音频和视频等多种内容形式,以及多代理、结构化输出,兼容几乎任何模型和服务供应商。