如何利用opencv c++徒手写BP神经网络识别数字(一)前言及准备
一. 前言
- WHY?
公司的芯片目前只支持opencv主体部分, opencv的dnn模块没法用,无奈之下,只能徒手上了. - HOW?
最近跟Andrew NG的machine learning 课程(一下简称ML课程), 学习了BP神经网络, 作业倒是都做完了,打算就利用课程ex4上用到的神经网络写出来,其中的矩阵处理部分,打算调用opencv矩阵模块完成;
Andrew NG machined learning 课程链接
我写的opencv c++ BP神经网络链接
我写的machined learning 作业答案链接 - 环境
system:Ubuntu 16.04
OpenCV: 3.3
Clion:171.4694.31
gcc:5.4.0
cpu:i5 6200U 2.3G-2.8GHz
内存:DDR4 4G*2 2400MHz
硬盘:500G 7200转
二. 准备工作
- 为验证c++算法做准备
1.ML课程中所用的语言和数据为octave格式(亦即matlab格式,两个软件语言基本通用),现在ML课程中所写的程序已经通过验证了,接下来用C++写,就需要考虑c++程序能够读取.mat数据,以比较c++版本算法和octave版本算法的结果,对程序进行勘误;
- 安装matio库,用于c++读取.mat文件;matio下载地址
安装方式:解压后readme有安装方式,摘录如下
- 安装matio库,用于c++读取.mat文件;matio下载地址
$ tar zxf matio-X.Y.Z.tar.gz
$ cd matio-X.Y.Z
$ ./configure
$ make
$ make check
$ make install
PS: 若提示sudo: ./configure command not found
,请输入chmod 755 ./configure
,然后./configure