小众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:用于训练的数据比例(其余用于测试)

更多...


open-webui
功能强大、用户友好的自托管 AI 平台,支持完全离线运行。它集成了多种大型语言模型运行器,如 Ollama 和 OpenAI 兼容的 API,支持网页搜索、本地 RAG 集成、权限管理、适配移动端、Markdown 和 LaTeX 等功能。
aisuite
`aisuite`使开发人员能够通过标准化接口轻松使用多个 LLM。使用类似于 OpenAI 的界面,可以轻松地与最流行的 LLM 进行交互并比较结果。它是 python 客户端库的精简包装器,允许创建者无缝交换和测试来自不同 LLM 提供程序的响应,而无需更改其代码。如今,该库主要专注于聊天完成。我们将在不久的将来将其扩展到更多使用案例。
exo
够利用日常家用设备(如手机、笔记本电脑、台式机等)来搭建家庭 AI 集群。它通过整合现有的设备,无需昂贵硬件,即可构建一个低成本、可扩展的 GPU 计算集群,支持动态模型分区、自动发现设备、ChatGPT API、P2P 连接和多种推理引擎。