本项目是一个仅使用 C++ 17 和 Eigen 3 库实现的单隐藏层神经网络,用于学习和近似基本的算术运算(加、减、乘、除)。
该项目旨在展示如何在不依赖 TensorFlow 或 PyTorch 等高层框架的情况下,从底层实现神经网络的前向传播、反向传播和随机梯度下降(SGD)过程。
- 🧠 纯 C++ 实现: 代码高度优化,利用 Eigen 库进行高效的矩阵运算。
- ⚙️ 可配置架构: 命令行参数控制训练和推理模式,易于扩展。
- 🚀 快速收敛: 针对小数值范围数据进行训练,收敛速度快(在 Apple Silicon 平台表现优异)。
- 📊 内置日志: 训练过程的 Loss 曲线数据自动输出到文件,方便可视化分析。
您需要安装以下工具和库:
- C++ 编译器: 支持 C++17 标准(如 GCC 或 Clang)。
- CMake: 版本 3.15 或更高。
- Eigen3: 矩阵运算库。
- Python 3.x: 用于数据生成和 Loss 曲线可视化(依赖
matplotlib库)。
# 1. 安装 Homebrew
# /bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"
# 2. 安装 Eigen 和 CMake
brew install eigen cmake
# 3. 安装 Python 绘图依赖
pip install matplotlib