Skip to content

jasonleecode/SimpleNeuralNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔢 C++ & Eigen 算术神经网络 (Simple Arithmetic NN)

🌟 项目简介

本项目是一个仅使用 C++ 17Eigen 3 库实现的单隐藏层神经网络,用于学习和近似基本的算术运算(加、减、乘、除)。

该项目旨在展示如何在不依赖 TensorFlow 或 PyTorch 等高层框架的情况下,从底层实现神经网络的前向传播、反向传播和随机梯度下降(SGD)过程。

核心特性

  • 🧠 纯 C++ 实现: 代码高度优化,利用 Eigen 库进行高效的矩阵运算。
  • ⚙️ 可配置架构: 命令行参数控制训练和推理模式,易于扩展。
  • 🚀 快速收敛: 针对小数值范围数据进行训练,收敛速度快(在 Apple Silicon 平台表现优异)。
  • 📊 内置日志: 训练过程的 Loss 曲线数据自动输出到文件,方便可视化分析。

⚙️ 环境要求与设置

依赖项

您需要安装以下工具和库:

  1. C++ 编译器: 支持 C++17 标准(如 GCC 或 Clang)。
  2. CMake: 版本 3.15 或更高。
  3. Eigen3: 矩阵运算库。
  4. Python 3.x: 用于数据生成和 Loss 曲线可视化(依赖 matplotlib 库)。

Mac M3 (Apple Silicon) 安装指南

# 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

About

a simple neural net sample for learning with c++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors