此为 串行版 的人脸识别系统
并行版请戳:Github . PAC-P2P/BPNN-Face-Recognition-For-Parallel
串行版请戳:Github . PAC-P2P/BPNN-Face-Recognition
Qt 版请戳:Github . PAC-P2P/BPNN-Face-Recognition-For-Qt
# CentOS
yum -y install openmpi openmpi-devel
# 添加路径
export PATH=$PATH:/usr/lib64/openmpi/bin/
git clone https://github.com/activesys/libcstl.git
cd libcstl
# 配置环境,[指定安装路径]
./configure [--prefix=newpath]
# 编译
make
# 安装
make install
# 检查
make check
git clone https://github.com/PAC-P2P/BPNN-Face-Recognition.git
cd BPNN-Face-Recognition
# 解压训练集
unzip data.zip
cd src
## 编译
make
# 运行,指定进程数为1,(串行版无并行优化,只用1个进程)
mpirun -np 1 ./BPNN
# 输入训练次数为100次
100
.
├── README.md
├── data.zip # 训练集的图片
└── src
├── Makefile # Makefile文件
├── all_test.list # 测试集图片路径1
├── all_test2.list # 测试集图片路径2
├── all_train.list # 训练集图片路径
├── backprop.c # 神经网络模块,支持三层全连接前馈神经网络,使用 backpropagation 算法来调整权值
├── backprop.h
├── imagenet.c # 图片网络模块,用于装载图片到网络的输入单元,和设置训练的目标向量的接口程序
├── imagenet.h
├── main.c # 主函数,调用其他模块实现BP神经网络人脸识别整个流程
├── pgmimage.c # 图片处理模块,支持读写 PGM 文件和像素的存取/赋值
└── pgmimage.h