项目简介
本项目基于C++实现了Forward Forward算法,主要用于神经网络的训练和分类。项目参考了Hinton的论文"The Forward-Forward Algorithm: Some Preliminary Investigations",结合Python实现思路,采用标准库实现,可在低功率设备如Arduino上运行。
项目的主要特性和功能
- 数据加载与预处理:可从文本文件读取MNIST数据集,并进行预处理,生成正样本和负样本用于训练。
- 神经网络定义与初始化:能定义神经网络的结构和参数,包括输入层、隐藏层、输出层以及学习率等。
- 前向传播测试:使用神经网络对测试数据集中的样本进行预测,并打印预测结果。
- 训练过程:通过迭代训练神经网络,调整网络权重,实现数据的正确分类。
- 测试网络性能:在测试数据集上评估神经网络性能,计算并打印网络的准确率。
安装使用步骤
前提条件
需安装g++编译器,并具备C++编程环境。项目需要MNIST数据集作为输入,可从提供的链接下载并放置在项目文件夹中。
编译代码
使用g++编译器编译main.cpp
文件,命令如下:
bash
g++ .\main.cpp -std=c++17 -O3 -fopenmp -o FF.exe
运行程序
执行编译后的程序,命令如下:
bash
.\FF.exe
查看结果
程序将打印出网络的准确率、训练时间等结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】